]> git.ipfire.org Git - thirdparty/git.git/commitdiff
l10n: vi.po(5104t): for git v2.31.0 l10n round 2
authorTran Ngoc Quan <vnwildman@gmail.com>
Mon, 8 Mar 2021 02:00:45 +0000 (09:00 +0700)
committerTran Ngoc Quan <vnwildman@gmail.com>
Mon, 8 Mar 2021 02:03:04 +0000 (09:03 +0700)
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
po/vi.po

index 65df3d0c4ecb35c167e27e8c2affd1e6d7e642ff..f0ee9a8743c96959e35fa99fb37bad2f7e251e8e 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -2,15 +2,15 @@
 # Bản dịch tiếng Việt dành cho GIT-CORE.
 # This file is distributed under the same license as the git-core package.
 # Nguyễn Thái Ngọc Duy <pclouds@gmail.com>, 2012.
-# Trần Ngọc Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020.
+# Trần Ngọc Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021.
 # Đoàn Trần Công Danh <congdanhqx@gmail.com>, 2020.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: git v2.30.0 rd2\n"
+"Project-Id-Version: git  v2.31.0-rc1 rd2\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2020-12-21 07:10+0800\n"
-"PO-Revision-Date: 2020-12-21 08:42+0700\n"
+"POT-Creation-Date: 2021-03-04 22:41+0800\n"
+"PO-Revision-Date: 2021-03-08 08:58+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"
@@ -28,9 +28,9 @@ msgstr ""
 msgid "Huh (%s)?"
 msgstr "Hả (%s)?"
 
-#: add-interactive.c:529 add-interactive.c:830 reset.c:65 sequencer.c:3284
-#: sequencer.c:3735 sequencer.c:3890 builtin/rebase.c:1532
-#: builtin/rebase.c:1955
+#: add-interactive.c:529 add-interactive.c:830 reset.c:65 sequencer.c:3292
+#: sequencer.c:3743 sequencer.c:3898 builtin/rebase.c:1538
+#: builtin/rebase.c:1963
 msgid "could not read index"
 msgstr "không thể đọc bảng mục lục"
 
@@ -58,7 +58,7 @@ msgstr "Cập nhật"
 msgid "could not stage '%s'"
 msgstr "không thể đưa “%s” lên bệ phóng"
 
-#: add-interactive.c:703 add-interactive.c:892 reset.c:89 sequencer.c:3478
+#: add-interactive.c:703 add-interactive.c:892 reset.c:89 sequencer.c:3486
 msgid "could not write index"
 msgstr "không thể ghi bảng mục lục"
 
@@ -219,7 +219,7 @@ msgstr "chưa đưa lên bệ phóng"
 
 #: add-interactive.c:1144 apply.c:4987 apply.c:4990 builtin/am.c:2257
 #: builtin/am.c:2260 builtin/bugreport.c:134 builtin/clone.c:124
-#: builtin/fetch.c:147 builtin/merge.c:284 builtin/pull.c:190
+#: builtin/fetch.c:150 builtin/merge.c:285 builtin/pull.c:190
 #: builtin/submodule--helper.c:409 builtin/submodule--helper.c:1818
 #: builtin/submodule--helper.c:1821 builtin/submodule--helper.c:2326
 #: builtin/submodule--helper.c:2329 builtin/submodule--helper.c:2572
@@ -805,7 +805,7 @@ msgstr ""
 msgid "Exiting because of an unresolved conflict."
 msgstr "Thoát ra bởi vì xung đột không thể giải quyết."
 
-#: advice.c:281 builtin/merge.c:1369
+#: advice.c:281 builtin/merge.c:1370
 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)."
 
@@ -1108,7 +1108,8 @@ msgstr "gặp lỗi khi vá: %s:%ld"
 msgid "cannot checkout %s"
 msgstr "không thể lấy ra %s"
 
-#: apply.c:3405 apply.c:3416 apply.c:3462 midx.c:73 setup.c:308
+#: apply.c:3405 apply.c:3416 apply.c:3462 midx.c:86 pack-revindex.c:213
+#: setup.c:308
 #, c-format
 msgid "failed to read %s"
 msgstr "gặp lỗi khi đọc %s"
@@ -1267,7 +1268,7 @@ msgstr "không thể tạo “kho lưu đằng sau” cho tập tin được t
 msgid "unable to add cache entry for %s"
 msgstr "không thể thêm mục nhớ đệm cho %s"
 
-#: apply.c:4374 builtin/bisect--helper.c:524
+#: apply.c:4374 builtin/bisect--helper.c:523
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "gặp lỗi khi ghi vào “%s”"
@@ -1302,7 +1303,7 @@ msgstr[0] "Đang áp dụng miếng vá %%s với %d lần từ chối…"
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "đang cắt ngắn tên tập tin .rej thành %.*s.rej"
 
-#: apply.c:4576 builtin/fetch.c:927 builtin/fetch.c:1228
+#: apply.c:4576 builtin/fetch.c:933 builtin/fetch.c:1334
 #, c-format
 msgid "cannot open %s"
 msgstr "không mở được “%s”"
@@ -1353,7 +1354,7 @@ 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:4960 builtin/add.c:618 builtin/mv.c:304 builtin/rm.c:406
+#: apply.c:4960 builtin/add.c:626 builtin/mv.c:304 builtin/rm.c:406
 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"
 
@@ -1425,7 +1426,7 @@ msgid "build a temporary index based on embedded index information"
 msgstr ""
 "xây dựng bảng mục lục tạm thời trên cơ sở thông tin bảng mục lục được nhúng"
 
-#: apply.c:5025 builtin/checkout-index.c:182 builtin/ls-files.c:525
+#: apply.c:5025 builtin/checkout-index.c:195 builtin/ls-files.c:540
 msgid "paths are separated with NUL character"
 msgstr "các đường dẫn bị ngăn cách bởi ký tự NULL"
 
@@ -1435,7 +1436,7 @@ msgstr "đảm bảo rằng có ít nhất <n> dòng ngữ cảnh khớp"
 
 #: apply.c:5028 builtin/am.c:2245 builtin/interpret-trailers.c:98
 #: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102
-#: builtin/pack-objects.c:3562 builtin/rebase.c:1346
+#: builtin/pack-objects.c:3577 builtin/rebase.c:1352
 msgid "action"
 msgstr "hành động"
 
@@ -1463,9 +1464,9 @@ msgstr "để lại khối dữ liệu bị từ chối trong các tập tin *.r
 msgid "allow overlapping hunks"
 msgstr "cho phép chồng khối nhớ"
 
-#: apply.c:5045 builtin/add.c:329 builtin/check-ignore.c:22
-#: builtin/commit.c:1364 builtin/count-objects.c:98 builtin/fsck.c:775
-#: builtin/log.c:2287 builtin/mv.c:123 builtin/read-tree.c:128
+#: apply.c:5045 builtin/add.c:337 builtin/check-ignore.c:22
+#: builtin/commit.c:1364 builtin/count-objects.c:98 builtin/fsck.c:757
+#: builtin/log.c:2286 builtin/mv.c:123 builtin/read-tree.c:128
 msgid "be verbose"
 msgstr "chi tiết"
 
@@ -1554,14 +1555,14 @@ msgstr "git archive --remote <kho> [--exec <lệnh>] --list"
 msgid "cannot read %s"
 msgstr "không thể đọc %s"
 
-#: archive.c:345 sequencer.c:459 sequencer.c:1736 sequencer.c:2886
-#: sequencer.c:3327 sequencer.c:3436 builtin/am.c:249 builtin/commit.c:786
-#: builtin/merge.c:1138
+#: archive.c:345 sequencer.c:459 sequencer.c:1744 sequencer.c:2894
+#: sequencer.c:3335 sequencer.c:3444 builtin/am.c:249 builtin/commit.c:786
+#: builtin/merge.c:1139
 #, c-format
 msgid "could not read '%s'"
 msgstr "không thể đọc “%s”"
 
-#: archive.c:430 builtin/add.c:181 builtin/add.c:594 builtin/rm.c:315
+#: archive.c:430 builtin/add.c:189 builtin/add.c:602 builtin/rm.c:315
 #, 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"
@@ -1603,7 +1604,7 @@ msgstr "định_dạng"
 msgid "archive format"
 msgstr "định dạng lưu trữ"
 
-#: archive.c:556 builtin/log.c:1765
+#: archive.c:556 builtin/log.c:1764
 msgid "prefix"
 msgstr "tiền_tố"
 
@@ -1611,11 +1612,11 @@ msgstr "tiền_tố"
 msgid "prepend prefix to each pathname in the archive"
 msgstr "nối thêm tiền tố vào từng đường dẫn tập tin trong kho lưu"
 
-#: archive.c:558 archive.c:561 builtin/blame.c:886 builtin/blame.c:890
-#: builtin/blame.c:891 builtin/commit-tree.c:117 builtin/config.c:135
+#: archive.c:558 archive.c:561 builtin/blame.c:884 builtin/blame.c:888
+#: builtin/blame.c:889 builtin/commit-tree.c:117 builtin/config.c:135
 #: builtin/fast-export.c:1207 builtin/fast-export.c:1209
-#: builtin/fast-export.c:1213 builtin/grep.c:919 builtin/hash-object.c:105
-#: builtin/ls-files.c:561 builtin/ls-files.c:564 builtin/notes.c:412
+#: builtin/fast-export.c:1213 builtin/grep.c:920 builtin/hash-object.c:105
+#: builtin/ls-files.c:576 builtin/ls-files.c:579 builtin/notes.c:412
 #: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:190
 msgid "file"
 msgstr "tập_tin"
@@ -1781,12 +1782,12 @@ msgstr "Bisecting: nền hòa trộn cần phải được kiểm tra\n"
 msgid "a %s revision is needed"
 msgstr "cần một điểm xét duyệt %s"
 
-#: bisect.c:941 builtin/notes.c:177 builtin/tag.c:255
+#: bisect.c:941 builtin/notes.c:177 builtin/tag.c:287
 #, c-format
 msgid "could not create file '%s'"
 msgstr "không thể tạo tập tin “%s”"
 
-#: bisect.c:987 builtin/merge.c:152
+#: bisect.c:987 builtin/merge.c:153
 #, c-format
 msgid "could not read file '%s'"
 msgstr "không thể đọc tập tin “%s”"
@@ -1804,7 +1805,7 @@ msgstr "%s là cả %s và %s\n"
 #, c-format
 msgid ""
 "No testable commit found.\n"
-"Maybe you started with bad path parameters?\n"
+"Maybe you started with bad path arguments?\n"
 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"
@@ -1837,11 +1838,11 @@ msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 "cùng sử dụng --reverse và --first-parent cần chỉ định lần chuyển giao cuối"
 
-#: blame.c:2821 bundle.c:213 ref-filter.c:2272 remote.c:2031 sequencer.c:2138
-#: sequencer.c:4633 submodule.c:855 builtin/commit.c:1045 builtin/log.c:409
-#: builtin/log.c:1023 builtin/log.c:1625 builtin/log.c:2046 builtin/log.c:2336
-#: builtin/merge.c:423 builtin/pack-objects.c:3380 builtin/pack-objects.c:3395
-#: builtin/shortlog.c:267
+#: blame.c:2821 bundle.c:213 ref-filter.c:2206 remote.c:2041 sequencer.c:2146
+#: sequencer.c:4641 submodule.c:856 builtin/commit.c:1045 builtin/log.c:411
+#: builtin/log.c:1016 builtin/log.c:1624 builtin/log.c:2045 builtin/log.c:2335
+#: builtin/merge.c:424 builtin/pack-objects.c:3395 builtin/pack-objects.c:3410
+#: builtin/shortlog.c:255
 msgid "revision walk setup failed"
 msgstr "cài đặt việc di chuyển qua các điểm xét duyệt gặp lỗi"
 
@@ -2023,7 +2024,7 @@ msgstr "“%s” không giống như tập tin v2 hay v3 bundle (định dạng
 msgid "unrecognized header: %s%s (%d)"
 msgstr "phần đầu không được thừa nhận: %s%s (%d)"
 
-#: bundle.c:136 rerere.c:480 rerere.c:690 sequencer.c:2390 sequencer.c:3176
+#: bundle.c:136 rerere.c:464 rerere.c:674 sequencer.c:2398 sequencer.c:3184
 #: builtin/commit.c:814
 #, c-format
 msgid "could not open '%s'"
@@ -2065,293 +2066,306 @@ msgstr "Không thể sản sinh đối tượng gói"
 msgid "pack-objects died"
 msgstr "đối tượng gói đã chết"
 
-#: bundle.c:379
-msgid "rev-list died"
-msgstr "rev-list đã chết"
-
-#: bundle.c:428
+#: bundle.c:386
 #, 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:498
+#: bundle.c:490
 #, c-format
 msgid "unsupported bundle version %d"
 msgstr "phiên bản bundle %d không được hỗ trợ"
 
-#: bundle.c:500
+#: bundle.c:492
 #, c-format
 msgid "cannot write bundle version %d with algorithm %s"
 msgstr "không thể ghi phiên bản bundle %d với thuật toán %s"
 
-#: bundle.c:522 builtin/log.c:209 builtin/log.c:1927 builtin/shortlog.c:408
+#: bundle.c:510 builtin/log.c:210 builtin/log.c:1926 builtin/shortlog.c:396
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "đối số không được thừa nhận: %s"
 
-#: bundle.c:530
+#: bundle.c:539
 msgid "Refusing to create empty bundle."
 msgstr "Từ chối tạo một bó dữ liệu trống rỗng."
 
-#: bundle.c:540
+#: bundle.c:549
 #, c-format
 msgid "cannot create '%s'"
 msgstr "không thể tạo “%s”"
 
-#: bundle.c:565
+#: bundle.c:574
 msgid "index-pack died"
 msgstr "mục lục gói đã chết"
 
+#: chunk-format.c:113
+msgid "terminating chunk id appears earlier than expected"
+msgstr "mã mảnh kết thúc sớm hơn bình thường"
+
+#: chunk-format.c:122
+#, c-format
+msgid "improper chunk offset(s) %<PRIx64> and %<PRIx64>"
+msgstr "bù mảnh không đúng cách %<PRIx64> và %<PRIx64>"
+
+#: chunk-format.c:129
+#, c-format
+msgid "duplicate chunk ID %<PRIx32> found"
+msgstr "tìm thấy ID của mảnh bị trùng lặp %<PRIx32>"
+
+#: chunk-format.c:143
+#, c-format
+msgid "final chunk has non-zero id %<PRIx32>"
+msgstr "mảnh cuối cùng có id không bằng không %<PRIx32>"
+
 #: color.c:329
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr "giá trị màu không hợp lệ: %.*s"
 
-#: commit-graph.c:188 midx.c:47
+#: commit-graph.c:197 midx.c:46
 msgid "invalid hash version"
 msgstr "phiên bản băm không hợp lệ"
 
-#: commit-graph.c:246
+#: commit-graph.c:255
 msgid "commit-graph file is too small"
 msgstr "tập tin đồ-thị-các-lần-chuyển-giao quá nhỏ"
 
-#: commit-graph.c:311
+#: commit-graph.c:348
 #, c-format
 msgid "commit-graph signature %X does not match signature %X"
 msgstr "chữ ký đồ-thị-các-lần-chuyển-giao %X không khớp chữ ký %X"
 
-#: commit-graph.c:318
+#: commit-graph.c:355
 #, c-format
 msgid "commit-graph version %X does not match version %X"
 msgstr "phiên bản đồ-thị-các-lần-chuyển-giao %X không khớp phiên bản %X"
 
-#: commit-graph.c:325
+#: commit-graph.c:362
 #, c-format
 msgid "commit-graph hash version %X does not match version %X"
 msgstr "phiên bản đồ-thị-các-lần-chuyển-giao %X không khớp phiên bản %X"
 
-#: commit-graph.c:342
+#: commit-graph.c:379
 #, c-format
 msgid "commit-graph file is too small to hold %u chunks"
 msgstr "tập tin đồ-thị-các-lần-chuyển-giao quá nhỏ để giữ %u mảnh dữ liệu"
 
-#: commit-graph.c:361
-#, c-format
-msgid "commit-graph improper chunk offset %08x%08x"
-msgstr "bù mảnh đồ-thị-các-lần-chuyển-giao không đúng chỗ %08x%08x"
-
-#: commit-graph.c:433
-#, c-format
-msgid "commit-graph chunk id %08x appears multiple times"
-msgstr "mã mảnh đồ-thị-các-lần-chuyển-giao %08x xuất hiện nhiều lần"
-
-#: commit-graph.c:499
+#: commit-graph.c:472
 msgid "commit-graph has no base graphs chunk"
 msgstr "đồ-thị-các-lần-chuyển-giao có không có mảnh các đồ họa cơ sở"
 
-#: commit-graph.c:509
+#: commit-graph.c:482
 msgid "commit-graph chain does not match"
 msgstr "móc xích đồ-thị-các-lần-chuyển-giao không khớp"
 
-#: commit-graph.c:557
+#: commit-graph.c:530
 #, c-format
 msgid "invalid commit-graph chain: line '%s' not a hash"
 msgstr ""
 "móc xích đồ-thị-các-lần-chuyển-giao không hợp lệ: dòng “%s” không phải là "
 "một mã băm"
 
-#: commit-graph.c:581
+#: commit-graph.c:554
 msgid "unable to find all commit-graph files"
 msgstr "không thể tìm thấy tất cả các tập tin đồ-thị-các-lần-chuyển-giao"
 
-#: commit-graph.c:721 commit-graph.c:785
+#: commit-graph.c:735 commit-graph.c:772
 msgid "invalid commit position. commit-graph is likely corrupt"
 msgstr ""
 "vị trí lần chuyển giao không hợp lệ. đồ-thị-các-lần-chuyển-giao có vẻ như đã "
 "bị hỏng"
 
-#: commit-graph.c:742
+#: commit-graph.c:756
 #, 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:1036 builtin/am.c:1292
+#: commit-graph.c:789
+msgid "commit-graph requires overflow generation data but has none"
+msgstr "commit-graph yêu cầu dữ liệu tạo tràn nhưng không có"
+
+#: commit-graph.c:1065 builtin/am.c:1292
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "không thể phân tích lần chuyển giao “%s”"
 
-#: commit-graph.c:1252 builtin/pack-objects.c:2864
+#: commit-graph.c:1327 builtin/pack-objects.c:2872
 #, 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:1283
+#: commit-graph.c:1358
 msgid "Loading known commits in commit graph"
 msgstr "Đang tải các lần chuyển giao chưa biết trong đồ thị lần chuyển giao"
 
-#: commit-graph.c:1300
+#: commit-graph.c:1375
 msgid "Expanding reachable commits in commit graph"
 msgstr ""
 "Mở rộng các lần chuyển giao có thể tiếp cận được trong trong đồ thị lần "
 "chuyển giao"
 
-#: commit-graph.c:1320
+#: commit-graph.c:1395
 msgid "Clearing commit marks in commit graph"
 msgstr "Đang dọn dẹp các đánh dấu lần chuyển giao trong đồ thị lần chuyển giao"
 
-#: commit-graph.c:1339
+#: commit-graph.c:1414
+msgid "Computing commit graph topological levels"
+msgstr "Đang tính mức hình học tô-pô tạo đồ thị các lần chuyển giao"
+
+#: commit-graph.c:1467
 msgid "Computing commit graph generation numbers"
 msgstr "Đang tính toán số tạo đồ thị các lần chuyển giao"
 
-#: commit-graph.c:1406
+#: commit-graph.c:1548
 msgid "Computing commit changed paths Bloom filters"
 msgstr "Đang tính toán chuyển giao các bộ lọc Bloom đường dẫn bị thay đổi"
 
-#: commit-graph.c:1483
+#: commit-graph.c:1625
 msgid "Collecting referenced commits"
 msgstr "Đang sưu tập các lần chuyển giao được tham chiếu"
 
-#: commit-graph.c:1508
+#: commit-graph.c:1650
 #, c-format
 msgid "Finding commits for commit graph in %d pack"
 msgid_plural "Finding commits for commit graph in %d packs"
 msgstr[0] ""
 "Đang tìm các lần chuyển giao cho đồ thị lần chuyển giao trong %d gói"
 
-#: commit-graph.c:1521
+#: commit-graph.c:1663
 #, c-format
 msgid "error adding pack %s"
 msgstr "gặp lỗi thêm gói %s"
 
-#: commit-graph.c:1525
+#: commit-graph.c:1667
 #, c-format
 msgid "error opening index for %s"
 msgstr "gặp lỗi khi mở mục lục cho “%s”"
 
-#: commit-graph.c:1562
+#: commit-graph.c:1704
 msgid "Finding commits for commit graph among packed objects"
 msgstr ""
 "Đang tìm các lần chuyển giao cho đồ thị lần chuyển giao trong số các đối "
 "tượng đã đóng gói"
 
-#: commit-graph.c:1580
+#: commit-graph.c:1722
 msgid "Finding extra edges in commit graph"
 msgstr "Đang tìm các cạnh mở tộng trong đồ thị lần chuyển giao"
 
-#: commit-graph.c:1628
+#: commit-graph.c:1771
 msgid "failed to write correct number of base graph ids"
 msgstr "gặp lỗi khi ghi số đúng của mã đồ họa cơ sở"
 
-#: commit-graph.c:1670 midx.c:819
+#: commit-graph.c:1802 midx.c:794
 #, c-format
 msgid "unable to create leading directories of %s"
 msgstr "không thể tạo các thư mục dẫn đầu của “%s”"
 
-#: commit-graph.c:1683
+#: commit-graph.c:1815
 msgid "unable to create temporary graph layer"
 msgstr "không thể tạo lớp sơ đồ tạm thời"
 
-#: commit-graph.c:1688
+#: commit-graph.c:1820
 #, c-format
 msgid "unable to adjust shared permissions for '%s'"
 msgstr "không thể chỉnh sửa quyền chia sẻ thành “%s”"
 
-#: commit-graph.c:1758
+#: commit-graph.c:1879
 #, c-format
 msgid "Writing out commit graph in %d pass"
 msgid_plural "Writing out commit graph in %d passes"
 msgstr[0] "Đang ghi ra đồ thị các lần chuyển giao trong lần %d"
 
-#: commit-graph.c:1803
+#: commit-graph.c:1915
 msgid "unable to open commit-graph chain file"
 msgstr "không thể mở tập tin mắt xích đồ thị chuyển giao"
 
-#: commit-graph.c:1819
+#: commit-graph.c:1931
 msgid "failed to rename base commit-graph file"
 msgstr "gặp lỗi khi đổi tên tập tin đồ-thị-các-lần-chuyển-giao"
 
-#: commit-graph.c:1839
+#: commit-graph.c:1951
 msgid "failed to rename temporary commit-graph file"
 msgstr "gặp lỗi khi đổi tên tập tin đồ-thị-các-lần-chuyển-giao tạm thời"
 
-#: commit-graph.c:1965
+#: commit-graph.c:2084
 msgid "Scanning merged commits"
 msgstr "Đang quét các lần chuyển giao đã hòa trộn"
 
-#: commit-graph.c:2009
+#: commit-graph.c:2128
 msgid "Merging commit-graph"
 msgstr "Đang hòa trộn đồ-thị-các-lần-chuyển-giao"
 
-#: commit-graph.c:2115
+#: commit-graph.c:2235
 msgid "attempting to write a commit-graph, but 'core.commitGraph' is disabled"
 msgstr ""
 "cố gắng để ghi một đồ thị các lần chuyển giao, nhưng “core.commitGraph” bị "
 "vô hiệu hóa"
 
-#: commit-graph.c:2214
+#: commit-graph.c:2342
 msgid "too many commits to write graph"
 msgstr "có quá nhiều lần chuyển giao để ghi đồ thị"
 
-#: commit-graph.c:2307
+#: commit-graph.c:2440
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgstr ""
 "tập tin đồ-thị-các-lần-chuyển-giao có tổng kiểm không đúng và có vẻ như là "
 "đã hỏng"
 
-#: commit-graph.c:2317
+#: commit-graph.c:2450
 #, c-format
 msgid "commit-graph has incorrect OID order: %s then %s"
 msgstr "đồ-thị-các-lần-chuyển-giao có thứ tự OID không đúng: %s sau %s"
 
-#: commit-graph.c:2327 commit-graph.c:2342
+#: commit-graph.c:2460 commit-graph.c:2475
 #, c-format
 msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
 msgstr ""
 "đồ-thị-các-lần-chuyển-giao có giá trị fanout không đúng: fanout[%d] = %u != "
 "%u"
 
-#: commit-graph.c:2334
+#: commit-graph.c:2467
 #, c-format
 msgid "failed to parse commit %s from commit-graph"
 msgstr "gặp lỗi khi phân tích lần chuyển giao từ %s đồ-thị-các-lần-chuyển-giao"
 
-#: commit-graph.c:2352
+#: commit-graph.c:2485
 msgid "Verifying commits in commit graph"
 msgstr "Đang thẩm tra các lần chuyển giao trong đồ thị lần chuyển giao"
 
-#: commit-graph.c:2367
+#: commit-graph.c:2500
 #, c-format
 msgid "failed to parse commit %s from object database for commit-graph"
 msgstr ""
 "gặp lỗi khi phân tích lần chuyển giao %s từ cơ sở dữ liệu đối tượng cho đồ "
 "thị lần chuyển giao"
 
-#: commit-graph.c:2374
+#: commit-graph.c:2507
 #, c-format
 msgid "root tree OID for commit %s in commit-graph is %s != %s"
 msgstr ""
 "OID cây gốc cho lần chuyển giao %s trong đồ-thị-các-lần-chuyển-giao là %s != "
 "%s"
 
-#: commit-graph.c:2384
+#: commit-graph.c:2517
 #, c-format
 msgid "commit-graph parent list for commit %s is too long"
 msgstr ""
 "danh sách cha mẹ đồ-thị-các-lần-chuyển-giao cho lần chuyển giao %s là quá dài"
 
-#: commit-graph.c:2393
+#: commit-graph.c:2526
 #, c-format
 msgid "commit-graph parent for %s is %s != %s"
 msgstr "cha mẹ đồ-thị-các-lần-chuyển-giao cho %s là %s != %s"
 
-#: commit-graph.c:2407
+#: commit-graph.c:2540
 #, c-format
 msgid "commit-graph parent list for commit %s terminates early"
 msgstr ""
 "danh sách cha mẹ đồ-thị-các-lần-chuyển-giao cho lần chuyển giao %s bị chấm "
 "dứt quá sớm"
 
-#: commit-graph.c:2412
+#: commit-graph.c:2545
 #, c-format
 msgid ""
 "commit-graph has generation number zero for commit %s, but non-zero elsewhere"
@@ -2359,7 +2373,7 @@ msgstr ""
 "đồ-thị-các-lần-chuyển-giao có con số không lần tạo cho lần chuyển giao %s, "
 "nhưng không phải số không ở chỗ khác"
 
-#: commit-graph.c:2416
+#: commit-graph.c:2549
 #, c-format
 msgid ""
 "commit-graph has non-zero generation number for commit %s, but zero elsewhere"
@@ -2367,19 +2381,21 @@ msgstr ""
 "đồ-thị-các-lần-chuyển-giao có con số không phải không lần tạo cho lần chuyển "
 "giao %s, nhưng số không ở chỗ khác"
 
-#: commit-graph.c:2432
+#: commit-graph.c:2566
 #, c-format
-msgid "commit-graph generation for commit %s is %u != %u"
-msgstr "tạo đồ-thị-các-lần-chuyển-giao cho lần chuyển giao %s là %u != %u"
+msgid "commit-graph generation for commit %s is %<PRIuMAX> < %<PRIuMAX>"
+msgstr ""
+"tạo đồ-thị-các-lần-chuyển-giao cho lần chuyển giao %s là %<PRIuMAX> < "
+"%<PRIuMAX>"
 
-#: commit-graph.c:2438
+#: commit-graph.c:2572
 #, c-format
 msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
 msgstr ""
 "ngày chuyển giao cho lần chuyển giao %s trong đồ-thị-các-lần-chuyển-giao là "
 "%<PRIuMAX> != %<PRIuMAX>"
 
-#: commit.c:52 sequencer.c:2879 builtin/am.c:359 builtin/am.c:403
+#: commit.c:52 sequencer.c:2887 builtin/am.c:359 builtin/am.c:403
 #: builtin/am.c:1371 builtin/am.c:2018 builtin/replace.c:457
 #, c-format
 msgid "could not parse %s"
@@ -2410,28 +2426,28 @@ msgstr ""
 "Tắt lời nhắn này bằng cách chạy\n"
 "\"git config advice.graftFileDeprecated false\""
 
-#: commit.c:1172
+#: commit.c:1223
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr ""
 "Lần chuyển giao %s có một chữ ký GPG không đáng tin, được cho là bởi %s."
 
-#: commit.c:1176
+#: commit.c:1227
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "Lần chuyển giao %s có một chữ ký GPG sai, được cho là bởi %s."
 
-#: commit.c:1179
+#: commit.c:1230
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "Lần chuyển giao %s không có chữ ký GPG."
 
-#: commit.c:1182
+#: commit.c:1233
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "Lần chuyển giao %s có một chữ ký GPG tốt bởi %s\n"
 
-#: commit.c:1436
+#: commit.c:1487
 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"
@@ -2445,7 +2461,7 @@ msgstr ""
 msgid "memory exhausted"
 msgstr "hết bộ nhớ"
 
-#: config.c:125
+#: config.c:126
 #, c-format
 msgid ""
 "exceeded maximum include depth (%d) while including\n"
@@ -2460,291 +2476,335 @@ msgstr ""
 "\t%s\n"
 "Nguyên nhân có thể là gồm quẩn vòng."
 
-#: config.c:141
+#: config.c:142
 #, c-format
 msgid "could not expand include path '%s'"
 msgstr "không thể khai triển đường dẫn “%s”"
 
-#: config.c:152
+#: config.c:153
 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:198
+#: config.c:199
 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:378
+#: config.c:396
+#, c-format
+msgid "invalid config format: %s"
+msgstr "định dạng cấu hình không hợp lệ: %s"
+
+#: config.c:400
+#, c-format
+msgid "missing environment variable name for configuration '%.*s'"
+msgstr "thiếu tên biến môi trường cho cấu hình '%.*s'"
+
+#: config.c:405
+#, c-format
+msgid "missing environment variable '%s' for configuration '%.*s'"
+msgstr "thiếu biến môi trường '%s' cho cấu hình '%.*s'"
+
+#: config.c:442
 #, c-format
 msgid "key does not contain a section: %s"
 msgstr "khóa không chứa một phần: %s"
 
-#: config.c:384
+#: config.c:448
 #, 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:408 sequencer.c:2580
+#: config.c:472 sequencer.c:2588
 #, c-format
 msgid "invalid key: %s"
 msgstr "khóa không đúng: %s"
 
-#: config.c:414
+#: config.c:478
 #, c-format
 msgid "invalid key (newline): %s"
 msgstr "khóa không hợp lệ (dòng mới): %s"
 
-#: config.c:450 config.c:462
+#: config.c:511
+msgid "empty config key"
+msgstr "khóa cấu hình trống rỗng"
+
+#: config.c:529 config.c:541
 #, c-format
 msgid "bogus config parameter: %s"
 msgstr "tham số cấu hình không có thực: %s"
 
-#: config.c:497
+#: config.c:555 config.c:572 config.c:579 config.c:588
 #, c-format
 msgid "bogus format in %s"
 msgstr "định dạng không có thực trong %s"
 
-#: config.c:836
+#: config.c:622
+#, c-format
+msgid "bogus count in %s"
+msgstr "số lượng không có thực trong %s"
+
+#: config.c:626
+#, c-format
+msgid "too many entries in %s"
+msgstr "quá nhiều mục tin trong %s"
+
+#: config.c:636
+#, c-format
+msgid "missing config key %s"
+msgstr "thiếu khóa cấu hình “%s”"
+
+#: config.c:644
+#, c-format
+msgid "missing config value %s"
+msgstr "thiếu giá trị cấu hình “%s”"
+
+#: config.c:995
 #, 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:840
+#: config.c:999
 #, 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:844
+#: config.c:1003
 #, 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:848
+#: config.c:1007
 #, 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:852
+#: config.c:1011
 #, 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:856
+#: config.c:1015
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "cấu hình sai tại dòng %d trong %s"
 
-#: config.c:993
+#: config.c:1152
 msgid "out of range"
 msgstr "nằm ngoài phạm vi"
 
-#: config.c:993
+#: config.c:1152
 msgid "invalid unit"
 msgstr "đơn vị không hợp lệ"
 
-#: config.c:994
+#: config.c:1153
 #, 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:1013
+#: config.c:1163
 #, 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:1016
+#: config.c:1166
 #, 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:1019
+#: config.c:1169
 #, 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:1022
+#: config.c:1172
 #, 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:1025
+#: config.c:1175
 #, 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:1028
+#: config.c:1178
 #, 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:1123
+#: config.c:1194
+#, c-format
+msgid "bad boolean config value '%s' for '%s'"
+msgstr "sai giá trị kiểu lô-gíc của cấu hình “%s” cho “%s”"
+
+#: config.c:1289
 #, 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:1132
+#: config.c:1298
 #, 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:1223
+#: config.c:1391
 #, 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:1237 config.c:1248
+#: config.c:1405 config.c:1416
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "mức nén zlib %d là sai"
 
-#: config.c:1340
+#: config.c:1508
 msgid "core.commentChar should only be one character"
 msgstr "core.commentChar chỉ được có một ký tự"
 
-#: config.c:1373
+#: config.c:1541
 #, 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:1445
+#: config.c:1613
 #, c-format
 msgid "malformed value for %s"
 msgstr "giá trị cho %s sai dạng"
 
-#: config.c:1471
+#: config.c:1639
 #, c-format
 msgid "malformed value for %s: %s"
 msgstr "giá trị cho %s sai dạng: %s"
 
-#: config.c:1472
+#: config.c:1640
 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:1533 builtin/pack-objects.c:3649
+#: config.c:1701 builtin/pack-objects.c:3666
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "mức nén gói %d không hợp lệ"
 
-#: config.c:1655
+#: config.c:1823
 #, 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:1658
+#: config.c:1826
 #, 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:1675
+#: config.c:1843
 #, 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:1705
+#: config.c:1873
 #, c-format
 msgid "failed to parse %s"
 msgstr "gặp lỗi khi phân tích cú pháp %s"
 
-#: config.c:1759
+#: config.c:1927
 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:2122
+#: config.c:2290
 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:2296
+#: config.c:2464
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "%s không hợp lệ: “%s”"
 
-#: config.c:2341
+#: config.c:2509
 #, 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:2387
+#: config.c:2555
 #, 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:2389
+#: config.c:2557
 #, 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:2473
+#: config.c:2641
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "tên của phần không hợp lệ “%s”"
 
-#: config.c:2505
+#: config.c:2673
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s có đa giá trị"
 
-#: config.c:2534
+#: config.c:2702
 #, 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:2786 config.c:3112
+#: config.c:2954 config.c:3280
 #, 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:2797
+#: config.c:2965
 #, c-format
 msgid "opening %s"
 msgstr "đang mở “%s”"
 
-#: config.c:2834 builtin/config.c:361
+#: config.c:3002 builtin/config.c:361
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "mẫu không hợp lệ: %s"
 
-#: config.c:2859
+#: config.c:3027
 #, c-format
 msgid "invalid config file %s"
 msgstr "tập tin cấu hình “%s” không hợp lệ"
 
-#: config.c:2872 config.c:3125
+#: config.c:3040 config.c:3293
 #, c-format
 msgid "fstat on %s failed"
 msgstr "fstat trên %s gặp lỗi"
 
-#: config.c:2883
+#: config.c:3051
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr "không thể mmap “%s”"
 
-#: config.c:2892 config.c:3130
+#: config.c:3060 config.c:3298
 #, c-format
 msgid "chmod on %s failed"
 msgstr "chmod trên %s gặp lỗi"
 
-#: config.c:2977 config.c:3227
+#: config.c:3145 config.c:3395
 #, c-format
 msgid "could not write config file %s"
 msgstr "không thể ghi tập tin cấu hình “%s”"
 
-#: config.c:3011
+#: config.c:3179
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "không thể đặt “%s” thành “%s”"
 
-#: config.c:3013 builtin/remote.c:657 builtin/remote.c:855 builtin/remote.c:863
+#: config.c:3181 builtin/remote.c:657 builtin/remote.c:855 builtin/remote.c:863
 #, c-format
 msgid "could not unset '%s'"
 msgstr "không thể thôi đặt “%s”"
 
-#: config.c:3103
+#: config.c:3271
 #, c-format
 msgid "invalid section name: %s"
 msgstr "tên của phần không hợp lệ: %s"
 
-#: config.c:3270
+#: config.c:3438
 #, c-format
 msgid "missing value for '%s'"
 msgstr "thiếu giá trị cho cho “%s”"
@@ -2806,45 +2866,45 @@ msgstr "gói không hợp lệ"
 msgid "protocol error: unexpected '%s'"
 msgstr "lỗi giao thức: không cần “%s”"
 
-#: connect.c:473
+#: connect.c:497
 #, c-format
 msgid "unknown object format '%s' specified by server"
 msgstr "không hiểu định dạng đối tượng “%s” được chỉ định bởi máy phục vụ"
 
-#: connect.c:500
+#: connect.c:526
 #, c-format
 msgid "invalid ls-refs response: %s"
 msgstr "trả về của ls-refs không hợp lệ: %s"
 
-#: connect.c:504
+#: connect.c:530
 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:507
+#: connect.c:533
 msgid "expected response end packet after ref listing"
 msgstr "cần nhận được trả lời là kết thúc gói sau khi liệt kê tham chiếu"
 
-#: connect.c:640
+#: connect.c:666
 #, c-format
 msgid "protocol '%s' is not supported"
 msgstr "giao thức “%s” chưa được hỗ trợ"
 
-#: connect.c:691
+#: connect.c:717
 msgid "unable to set SO_KEEPALIVE on socket"
 msgstr "không thể đặt SO_KEEPALIVE trên ổ cắm"
 
-#: connect.c:731 connect.c:794
+#: connect.c:757 connect.c:820
 #, c-format
 msgid "Looking up %s ... "
 msgstr "Đang tìm kiếm %s … "
 
-#: connect.c:735
+#: connect.c:761
 #, 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:739 connect.c:810
+#: connect.c:765 connect.c:836
 #, c-format
 msgid ""
 "done.\n"
@@ -2853,7 +2913,7 @@ msgstr ""
 "xong.\n"
 "Đang kết nối đến %s (cổng %s) … "
 
-#: connect.c:761 connect.c:838
+#: connect.c:787 connect.c:864
 #, c-format
 msgid ""
 "unable to connect to %s:\n"
@@ -2863,61 +2923,65 @@ msgstr ""
 "%s"
 
 #. TRANSLATORS: this is the end of "Connecting to %s (port %s) ... "
-#: connect.c:767 connect.c:844
+#: connect.c:793 connect.c:870
 msgid "done."
 msgstr "hoàn tất."
 
-#: connect.c:798
+#: connect.c:824
 #, c-format
 msgid "unable to look up %s (%s)"
 msgstr "không thể tìm thấy %s (%s)"
 
-#: connect.c:804
+#: connect.c:830
 #, c-format
 msgid "unknown port %s"
 msgstr "không hiểu cổng %s"
 
-#: connect.c:941 connect.c:1271
+#: connect.c:967 connect.c:1299
 #, c-format
 msgid "strange hostname '%s' blocked"
 msgstr "đã khóa tên máy lạ “%s”"
 
-#: connect.c:943
+#: connect.c:969
 #, c-format
 msgid "strange port '%s' blocked"
 msgstr "đã khóa cổng lạ “%s”"
 
-#: connect.c:953
+#: connect.c:979
 #, c-format
 msgid "cannot start proxy %s"
 msgstr "không thể khởi chạy ủy nhiệm “%s”"
 
-#: connect.c:1024
+#: connect.c:1050
 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:1219
+#: connect.c:1190
+msgid "newline is forbidden in git:// hosts and repo paths"
+msgstr "newline bị cấm trong các git:// máy chủ và đường dẫn repo"
+
+#: connect.c:1247
 msgid "ssh variant 'simple' does not support -4"
 msgstr "ssh biến thể “simple” không hỗ trợ -4"
 
-#: connect.c:1231
+#: connect.c:1259
 msgid "ssh variant 'simple' does not support -6"
 msgstr "ssh biến thể “simple” không hỗ trợ -6"
 
-#: connect.c:1248
+#: connect.c:1276
 msgid "ssh variant 'simple' does not support setting port"
 msgstr "ssh biến thể “simple” không hỗ trợ đặt cổng"
 
-#: connect.c:1360
+#: connect.c:1388
 #, c-format
 msgid "strange pathname '%s' blocked"
 msgstr "đã khóa tên đường dẫn lạ “%s”"
 
-#: connect.c:1408
+#: connect.c:1436
 msgid "unable to fork"
 msgstr "không thể rẽ nhánh tiến trình con"
 
-#: connected.c:108 builtin/fsck.c:209 builtin/prune.c:45
+#: connected.c:108 builtin/fsck.c:191 builtin/prune.c:45
 msgid "Checking connectivity"
 msgstr "Đang kiểm tra kết nối"
 
@@ -3172,6 +3236,11 @@ msgstr ""
 msgid "Marked %d islands, done.\n"
 msgstr "Đã đánh dấu %d island, xong.\n"
 
+#: diff-merges.c:70
+#, c-format
+msgid "unknown value for --diff-merges: %s"
+msgstr "không hiểu giá trị cho --diff-merges: %s"
+
 #: diff-lib.c:534
 msgid "--merge-base does not work with ranges"
 msgstr "--merge-base không hoạt động với phạm vi"
@@ -3259,30 +3328,30 @@ msgstr ""
 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:4625
+#: diff.c:4628
 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:4628
+#: diff.c:4631
 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:4707
+#: diff.c:4710
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow cần chính xác một đặc tả đường dẫn"
 
-#: diff.c:4755
+#: diff.c:4758
 #, c-format
 msgid "invalid --stat value: %s"
 msgstr "giá trị --stat không hợp lệ: “%s”"
 
-#: diff.c:4760 diff.c:4765 diff.c:4770 diff.c:4775 diff.c:5303
+#: diff.c:4763 diff.c:4768 diff.c:4773 diff.c:4778 diff.c:5306
 #: parse-options.c:197 parse-options.c:201 builtin/commit-graph.c:180
 #, c-format
 msgid "%s expects a numerical value"
 msgstr "tùy chọn “%s” cần một giá trị bằng số"
 
-#: diff.c:4792
+#: diff.c:4795
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -3291,42 +3360,42 @@ msgstr ""
 "Gặp lỗi khi phân tích đối số tùy chọn --dirstat/-X:\n"
 "%s"
 
-#: diff.c:4877
+#: diff.c:4880
 #, c-format
 msgid "unknown change class '%c' in --diff-filter=%s"
 msgstr "không hiểu lớp thay đổi “%c” trong --diff-filter=%s"
 
-#: diff.c:4901
+#: diff.c:4904
 #, c-format
 msgid "unknown value after ws-error-highlight=%.*s"
 msgstr "không hiểu giá trị sau ws-error-highlight=%.*s"
 
-#: diff.c:4915
+#: diff.c:4918
 #, c-format
 msgid "unable to resolve '%s'"
 msgstr "không thể phân giải “%s”"
 
-#: diff.c:4965 diff.c:4971
+#: diff.c:4968 diff.c:4974
 #, c-format
 msgid "%s expects <n>/<m> form"
 msgstr "%s cần dạng <n>/<m>"
 
-#: diff.c:4983
+#: diff.c:4986
 #, c-format
 msgid "%s expects a character, got '%s'"
 msgstr "%s cần một ký tự, nhưng lại nhận được “%s”"
 
-#: diff.c:5004
+#: diff.c:5007
 #, c-format
 msgid "bad --color-moved argument: %s"
 msgstr "đối số --color-moved sai: %s"
 
-#: diff.c:5023
+#: diff.c:5026
 #, c-format
 msgid "invalid mode '%s' in --color-moved-ws"
 msgstr "chế độ “%s” không hợp lệ trong --color-moved-ws"
 
-#: diff.c:5063
+#: diff.c:5066
 msgid ""
 "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
 "\"histogram\""
@@ -3334,155 +3403,155 @@ msgstr ""
 "tùy chọn  diff-algorithm chấp nhận \"myers\", \"minimal\", \"patience\" và "
 "\"histogram\""
 
-#: diff.c:5099 diff.c:5119
+#: diff.c:5102 diff.c:5122
 #, c-format
 msgid "invalid argument to %s"
 msgstr "tham số cho %s không hợp lệ"
 
-#: diff.c:5223
+#: diff.c:5226
 #, c-format
 msgid "invalid regex given to -I: '%s'"
 msgstr "đưa cho -I biểu thức chính quy không hợp lệ: “%s”"
 
-#: diff.c:5272
+#: diff.c:5275
 #, 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:5328
+#: diff.c:5331
 #, c-format
 msgid "bad --word-diff argument: %s"
 msgstr "đối số --word-diff sai: %s"
 
-#: diff.c:5351
+#: diff.c:5367
 msgid "Diff output format options"
 msgstr "Các tùy chọn định dạng khi xuất các khác biệt"
 
-#: diff.c:5353 diff.c:5359
+#: diff.c:5369 diff.c:5375
 msgid "generate patch"
 msgstr "tạo miếng vá"
 
-#: diff.c:5356 builtin/log.c:178
+#: diff.c:5372 builtin/log.c:179
 msgid "suppress diff output"
 msgstr "chặn mọi kết xuất từ diff"
 
-#: diff.c:5361 diff.c:5475 diff.c:5482
+#: diff.c:5377 diff.c:5491 diff.c:5498
 msgid "<n>"
 msgstr "<n>"
 
-#: diff.c:5362 diff.c:5365
+#: diff.c:5378 diff.c:5381
 msgid "generate diffs with <n> lines context"
 msgstr "tạo khác biệt với <n> dòng ngữ cảnh"
 
-#: diff.c:5367
+#: diff.c:5383
 msgid "generate the diff in raw format"
 msgstr "tạo khác biệt ở định dạng thô"
 
-#: diff.c:5370
+#: diff.c:5386
 msgid "synonym for '-p --raw'"
 msgstr "đồng nghĩa với “-p --raw”"
 
-#: diff.c:5374
+#: diff.c:5390
 msgid "synonym for '-p --stat'"
 msgstr "đồng nghĩa với “-p --stat”"
 
-#: diff.c:5378
+#: diff.c:5394
 msgid "machine friendly --stat"
 msgstr "--stat thuận tiện cho máy đọc"
 
-#: diff.c:5381
+#: diff.c:5397
 msgid "output only the last line of --stat"
 msgstr "chỉ xuất những dòng cuối của --stat"
 
-#: diff.c:5383 diff.c:5391
+#: diff.c:5399 diff.c:5407
 msgid "<param1,param2>..."
 msgstr "<tham_số_1,tham_số_2>…"
 
-#: diff.c:5384
+#: diff.c:5400
 msgid ""
 "output the distribution of relative amount of changes for each sub-directory"
 msgstr "đầu ra phân phối của số lượng thay đổi tương đối cho mỗi thư mục con"
 
-#: diff.c:5388
+#: diff.c:5404
 msgid "synonym for --dirstat=cumulative"
 msgstr "đồng nghĩa với --dirstat=cumulative"
 
-#: diff.c:5392
+#: diff.c:5408
 msgid "synonym for --dirstat=files,param1,param2..."
 msgstr "đồng nghĩa với --dirstat=files,param1,param2…"
 
-#: diff.c:5396
+#: diff.c:5412
 msgid "warn if changes introduce conflict markers or whitespace errors"
 msgstr ""
 "cảnh báo nếu các thay đổi đưa ra các bộ tạo xung đột hay lỗi khoảng trắng"
 
-#: diff.c:5399
+#: diff.c:5415
 msgid "condensed summary such as creations, renames and mode changes"
 msgstr "tổng hợp dạng xúc tích như là tạo, đổi tên và các thay đổi chế độ"
 
-#: diff.c:5402
+#: diff.c:5418
 msgid "show only names of changed files"
 msgstr "chỉ hiển thị tên của các tập tin đổi"
 
-#: diff.c:5405
+#: diff.c:5421
 msgid "show only names and status of changed files"
 msgstr "chỉ hiển thị tên tập tin và tình trạng của các tập tin bị thay đổi"
 
-#: diff.c:5407
+#: diff.c:5423
 msgid "<width>[,<name-width>[,<count>]]"
 msgstr "<rộng>[,<name-width>[,<số-lượng>]]"
 
-#: diff.c:5408
+#: diff.c:5424
 msgid "generate diffstat"
 msgstr "tạo diffstat"
 
-#: diff.c:5410 diff.c:5413 diff.c:5416
+#: diff.c:5426 diff.c:5429 diff.c:5432
 msgid "<width>"
 msgstr "<rộng>"
 
-#: diff.c:5411
+#: diff.c:5427
 msgid "generate diffstat with a given width"
 msgstr "tạo diffstat với độ rộng đã cho"
 
-#: diff.c:5414
+#: diff.c:5430
 msgid "generate diffstat with a given name width"
 msgstr "tạo diffstat với tên độ rộng đã cho"
 
-#: diff.c:5417
+#: diff.c:5433
 msgid "generate diffstat with a given graph width"
 msgstr "tạo diffstat với độ rộng đồ thị đã cho"
 
-#: diff.c:5419
+#: diff.c:5435
 msgid "<count>"
 msgstr "<số_lượng>"
 
-#: diff.c:5420
+#: diff.c:5436
 msgid "generate diffstat with limited lines"
 msgstr "tạo diffstat với các dòng bị giới hạn"
 
-#: diff.c:5423
+#: diff.c:5439
 msgid "generate compact summary in diffstat"
 msgstr "tạo tổng hợp xúc tích trong diffstat"
 
-#: diff.c:5426
+#: diff.c:5442
 msgid "output a binary diff that can be applied"
 msgstr "xuất ra một khác biệt dạng nhị phân cái mà có thể được áp dụng"
 
-#: diff.c:5429
+#: diff.c:5445
 msgid "show full pre- and post-image object names on the \"index\" lines"
 msgstr ""
 "hiển thị đầy đủ các tên đối tượng pre- và post-image trên các dòng \"mục lục"
 "\""
 
-#: diff.c:5431
+#: diff.c:5447
 msgid "show colored diff"
 msgstr "hiển thị thay đổi được tô màu"
 
-#: diff.c:5432
+#: diff.c:5448
 msgid "<kind>"
 msgstr "<kiểu>"
 
-#: diff.c:5433
+#: diff.c:5449
 msgid ""
 "highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
 "diff"
@@ -3490,7 +3559,7 @@ msgstr ""
 "tô sáng các lỗi về khoảng trắng trong các dòng “context”, “old” và “new” "
 "trong khác biệt"
 
-#: diff.c:5436
+#: diff.c:5452
 msgid ""
 "do not munge pathnames and use NULs as output field terminators in --raw or "
 "--numstat"
@@ -3498,89 +3567,89 @@ msgstr ""
 "không munge tên đường dẫn và sử dụng NUL làm bộ phân tách trường đầu ra "
 "trong --raw hay --numstat"
 
-#: diff.c:5439 diff.c:5442 diff.c:5445 diff.c:5554
+#: diff.c:5455 diff.c:5458 diff.c:5461 diff.c:5570
 msgid "<prefix>"
 msgstr "<tiền_tố>"
 
-#: diff.c:5440
+#: diff.c:5456
 msgid "show the given source prefix instead of \"a/\""
 msgstr "hiển thị tiền tố nguồn đã cho thay cho \"a/\""
 
-#: diff.c:5443
+#: diff.c:5459
 msgid "show the given destination prefix instead of \"b/\""
 msgstr "hiển thị tiền tố đích đã cho thay cho \"b/\""
 
-#: diff.c:5446
+#: diff.c:5462
 msgid "prepend an additional prefix to every line of output"
 msgstr "treo vào trước một tiền tố bổ sung cho mỗi dòng kết xuất"
 
-#: diff.c:5449
+#: diff.c:5465
 msgid "do not show any source or destination prefix"
 msgstr "đừng hiển thị bất kỳ tiền tố nguồn hay đích"
 
-#: diff.c:5452
+#: diff.c:5468
 msgid "show context between diff hunks up to the specified number of lines"
 msgstr ""
 "hiển thị ngữ cảnh giữa các khúc khác biệt khi đạt đến số lượng dòng đã chỉ "
 "định"
 
-#: diff.c:5456 diff.c:5461 diff.c:5466
+#: diff.c:5472 diff.c:5477 diff.c:5482
 msgid "<char>"
 msgstr "<ký_tự>"
 
-#: diff.c:5457
+#: diff.c:5473
 msgid "specify the character to indicate a new line instead of '+'"
 msgstr "chỉ định một ký tự để biểu thị một dòng được thêm mới thay cho “+”"
 
-#: diff.c:5462
+#: diff.c:5478
 msgid "specify the character to indicate an old line instead of '-'"
 msgstr "chỉ định một ký tự để biểu thị một dòng đã cũ thay cho “-”"
 
-#: diff.c:5467
+#: diff.c:5483
 msgid "specify the character to indicate a context instead of ' '"
 msgstr "chỉ định một ký tự để biểu thị một ngữ cảnh thay cho “”"
 
-#: diff.c:5470
+#: diff.c:5486
 msgid "Diff rename options"
 msgstr "Tùy chọn khác biệt đổi tên"
 
-#: diff.c:5471
+#: diff.c:5487
 msgid "<n>[/<m>]"
 msgstr "<n>[/<m>]"
 
-#: diff.c:5472
+#: diff.c:5488
 msgid "break complete rewrite changes into pairs of delete and create"
 msgstr "ngắt các thay đổi ghi lại hoàn thiện thành cặp của xóa và tạo"
 
-#: diff.c:5476
+#: diff.c:5492
 msgid "detect renames"
 msgstr "dò tìm các tên thay đổi"
 
-#: diff.c:5480
+#: diff.c:5496
 msgid "omit the preimage for deletes"
 msgstr "bỏ qua preimage (tiền ảnh??) cho các việc xóa"
 
-#: diff.c:5483
+#: diff.c:5499
 msgid "detect copies"
 msgstr "dò bản sao"
 
-#: diff.c:5487
+#: diff.c:5503
 msgid "use unmodified files as source to find copies"
 msgstr "dùng các tập tin không bị chỉnh sửa như là nguồn để tìm các bản sao"
 
-#: diff.c:5489
+#: diff.c:5505
 msgid "disable rename detection"
 msgstr "tắt dò tìm đổi tên"
 
-#: diff.c:5492
+#: diff.c:5508
 msgid "use empty blobs as rename source"
 msgstr "dùng các blob trống rống như là nguồn đổi tên"
 
-#: diff.c:5494
+#: diff.c:5510
 msgid "continue listing the history of a file beyond renames"
 msgstr "tiếp tục liệt kê lịch sử của một tập tin ngoài đổi tên"
 
-#: diff.c:5497
+#: diff.c:5513
 msgid ""
 "prevent rename/copy detection if the number of rename/copy targets exceeds "
 "given limit"
@@ -3588,160 +3657,160 @@ msgstr ""
 "ngăn cản dò tìm đổi tên/bản sao nếu số lượng của đích đổi tên/bản sao vượt "
 "quá giới hạn đưa ra"
 
-#: diff.c:5499
+#: diff.c:5515
 msgid "Diff algorithm options"
 msgstr "Tùy chọn thuật toán khác biệt"
 
-#: diff.c:5501
+#: diff.c:5517
 msgid "produce the smallest possible diff"
 msgstr "sản sinh khác biệt ít nhất có thể"
 
-#: diff.c:5504
+#: diff.c:5520
 msgid "ignore whitespace when comparing lines"
 msgstr "lờ đi sự thay đổi do khoảng trắng gây ra khi so sánh các dòng"
 
-#: diff.c:5507
+#: diff.c:5523
 msgid "ignore changes in amount of whitespace"
 msgstr "lờ đi sự thay đổi do số lượng khoảng trắng gây ra"
 
-#: diff.c:5510
+#: diff.c:5526
 msgid "ignore changes in whitespace at EOL"
 msgstr "lờ đi sự thay đổi do khoảng trắng gây ra khi ở cuối dòng EOL"
 
-#: diff.c:5513
+#: diff.c:5529
 msgid "ignore carrier-return at the end of line"
 msgstr "bỏ qua ký tự về đầu dòng tại cuối dòng"
 
-#: diff.c:5516
+#: diff.c:5532
 msgid "ignore changes whose lines are all blank"
 msgstr "bỏ qua các thay đổi cho toàn bộ các dòng là trống"
 
-#: diff.c:5518 diff.c:5540 diff.c:5543 diff.c:5588
+#: diff.c:5534 diff.c:5556 diff.c:5559 diff.c:5604
 msgid "<regex>"
 msgstr "<regex>"
 
-#: diff.c:5519
+#: diff.c:5535
 msgid "ignore changes whose all lines match <regex>"
 msgstr "bỏ qua các thay đổi có tất cả các dòng khớp <regex>"
 
-#: diff.c:5522
+#: diff.c:5538
 msgid "heuristic to shift diff hunk boundaries for easy reading"
 msgstr "heuristic để dịch hạn biên của khối khác biệt cho dễ đọc"
 
-#: diff.c:5525
+#: diff.c:5541
 msgid "generate diff using the \"patience diff\" algorithm"
 msgstr "tạo khác biệt sử dung thuật toán \"patience diff\""
 
-#: diff.c:5529
+#: diff.c:5545
 msgid "generate diff using the \"histogram diff\" algorithm"
 msgstr "tạo khác biệt sử dung thuật toán \"histogram diff\""
 
-#: diff.c:5531
+#: diff.c:5547
 msgid "<algorithm>"
 msgstr "<thuật toán>"
 
-#: diff.c:5532
+#: diff.c:5548
 msgid "choose a diff algorithm"
 msgstr "chọn một thuật toán khác biệt"
 
-#: diff.c:5534
+#: diff.c:5550
 msgid "<text>"
 msgstr "<văn bản>"
 
-#: diff.c:5535
+#: diff.c:5551
 msgid "generate diff using the \"anchored diff\" algorithm"
 msgstr "tạo khác biệt sử dung thuật toán \"anchored diff\""
 
-#: diff.c:5537 diff.c:5546 diff.c:5549
+#: diff.c:5553 diff.c:5562 diff.c:5565
 msgid "<mode>"
 msgstr "<chế độ>"
 
-#: diff.c:5538
+#: diff.c:5554
 msgid "show word diff, using <mode> to delimit changed words"
 msgstr ""
 "hiển thị khác biệt từ, sử dụng <chế độ> để bỏ giới hạn các từ bị thay đổi"
 
-#: diff.c:5541
+#: diff.c:5557
 msgid "use <regex> to decide what a word is"
 msgstr "dùng <regex> để quyết định từ là cái gì"
 
-#: diff.c:5544
+#: diff.c:5560
 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
 msgstr "tương đương với --word-diff=color --word-diff-regex=<regex>"
 
-#: diff.c:5547
+#: diff.c:5563
 msgid "moved lines of code are colored differently"
 msgstr "các dòng di chuyển của mã mà được tô màu khác nhau"
 
-#: diff.c:5550
+#: diff.c:5566
 msgid "how white spaces are ignored in --color-moved"
 msgstr "cách bỏ qua khoảng trắng trong --color-moved"
 
-#: diff.c:5553
+#: diff.c:5569
 msgid "Other diff options"
 msgstr "Các tùy chọn khác biệt khác"
 
-#: diff.c:5555
+#: diff.c:5571
 msgid "when run from subdir, exclude changes outside and show relative paths"
 msgstr ""
 "khi chạy từ thư mục con, thực thi các thay đổi bên ngoài và hiển thị các "
 "đường dẫn liên quan"
 
-#: diff.c:5559
+#: diff.c:5575
 msgid "treat all files as text"
 msgstr "coi mọi tập tin là dạng văn bản thường"
 
-#: diff.c:5561
+#: diff.c:5577
 msgid "swap two inputs, reverse the diff"
 msgstr "tráo đổi hai đầu vào, đảo ngược khác biệt"
 
-#: diff.c:5563
+#: diff.c:5579
 msgid "exit with 1 if there were differences, 0 otherwise"
 msgstr "thoát với mã 1 nếu không có khác biệt gì, 0 nếu ngược lại"
 
-#: diff.c:5565
+#: diff.c:5581
 msgid "disable all output of the program"
 msgstr "tắt mọi kết xuất của chương trình"
 
-#: diff.c:5567
+#: diff.c:5583
 msgid "allow an external diff helper to be executed"
 msgstr "cho phép mộ bộ hỗ trợ xuất khác biệt ở bên ngoài được phép thực thi"
 
-#: diff.c:5569
+#: diff.c:5585
 msgid "run external text conversion filters when comparing binary files"
 msgstr ""
 "chạy các bộ lọc văn bản thông thường bên ngoài khi so sánh các tập tin nhị "
 "phân"
 
-#: diff.c:5571
+#: diff.c:5587
 msgid "<when>"
 msgstr "<khi>"
 
-#: diff.c:5572
+#: diff.c:5588
 msgid "ignore changes to submodules in the diff generation"
 msgstr "bỏ qua các thay đổi trong mô-đun-con trong khi tạo khác biệt"
 
-#: diff.c:5575
+#: diff.c:5591
 msgid "<format>"
 msgstr "<định dạng>"
 
-#: diff.c:5576
+#: diff.c:5592
 msgid "specify how differences in submodules are shown"
 msgstr "chi định khác biệt bao nhiêu trong các mô đun con được hiển thị"
 
-#: diff.c:5580
+#: diff.c:5596
 msgid "hide 'git add -N' entries from the index"
 msgstr "ẩn các mục “git add -N” từ bảng mục lục"
 
-#: diff.c:5583
+#: diff.c:5599
 msgid "treat 'git add -N' entries as real in the index"
 msgstr "coi các mục “git add -N” như là có thật trong bảng mục lục"
 
-#: diff.c:5585
+#: diff.c:5601
 msgid "<string>"
 msgstr "<chuỗi>"
 
-#: diff.c:5586
+#: diff.c:5602
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "string"
@@ -3749,7 +3818,7 @@ msgstr ""
 "tìm các khác biệt cái mà thay đổi số lượng xảy ra của các phát sinh của "
 "chuỗi được chỉ ra"
 
-#: diff.c:5589
+#: diff.c:5605
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "regex"
@@ -3757,23 +3826,35 @@ msgstr ""
 "tìm các khác biệt cái mà thay đổi số lượng xảy ra của các phát sinh của biểu "
 "thức chính quy được chỉ ra"
 
-#: diff.c:5592
+#: diff.c:5608
 msgid "show all changes in the changeset with -S or -G"
 msgstr "hiển thị tất cả các thay đổi trong một bộ các thay đổi với -S hay -G"
 
-#: diff.c:5595
+#: diff.c:5611
 msgid "treat <string> in -S as extended POSIX regular expression"
 msgstr "coi <chuỗi> trong -S như là biểu thức chính qui POSIX có mở rộng"
 
-#: diff.c:5598
+#: diff.c:5614
 msgid "control the order in which files appear in the output"
 msgstr "điều khiển thứ tự xuát hiện các tập tin trong kết xuất"
 
-#: diff.c:5599
+#: diff.c:5615 diff.c:5618
+msgid "<path>"
+msgstr "<đường-dẫn>"
+
+#: diff.c:5616
+msgid "show the change in the specified path first"
+msgstr "hiển thị các thay đổi trong đường dẫn đã cho đầu tiên"
+
+#: diff.c:5619
+msgid "skip the output to the specified path"
+msgstr "bỏ qua đầu ra đến đường dẫn đã cho"
+
+#: diff.c:5621
 msgid "<object-id>"
 msgstr "<mã-số-đối-tượng>"
 
-#: diff.c:5600
+#: diff.c:5622
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "object"
@@ -3781,33 +3862,33 @@ msgstr ""
 "tìm các khác biệt cái mà thay đổi số lượng xảy ra của các phát sinh của đối "
 "tượng được chỉ ra"
 
-#: diff.c:5602
+#: diff.c:5624
 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
 msgstr "[(A|C|D|M|R|T|U|X|B)…[*]]"
 
-#: diff.c:5603
+#: diff.c:5625
 msgid "select files by diff type"
 msgstr "chọn các tập tin theo kiểu khác biệt"
 
-#: diff.c:5605
+#: diff.c:5627
 msgid "<file>"
 msgstr "<tập_tin>"
 
-#: diff.c:5606
+#: diff.c:5628
 msgid "Output to a specific file"
 msgstr "Xuất ra một tập tin cụ thể"
 
-#: diff.c:6263
+#: diff.c:6285
 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:6266
+#: diff.c:6288
 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:6269
+#: diff.c:6291
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -3820,10 +3901,15 @@ msgstr ""
 msgid "failed to read orderfile '%s'"
 msgstr "gặp lỗi khi đọc tập-tin-thứ-tự “%s”"
 
-#: diffcore-rename.c:592
+#: diffcore-rename.c:786
 msgid "Performing inexact rename detection"
 msgstr "Đang thực hiện dò tìm đổi tên không chính xác"
 
+#: diffcore-rotate.c:29
+#, c-format
+msgid "No such path '%s' in the diff"
+msgstr "Không có đường dẫn %s trong diff"
+
 #: dir.c:578
 #, c-format
 msgid "pathspec '%s' did not match any file(s) known to git"
@@ -3866,17 +3952,17 @@ msgstr "gặp lỗi khi lấy tên và thông tin của nhân"
 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:3520
+#: dir.c:3534
 #, 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:3565 dir.c:3570
+#: dir.c:3579 dir.c:3584
 #, c-format
 msgid "could not create directories for %s"
 msgstr "không thể tạo thư mục cho %s"
 
-#: dir.c:3599
+#: dir.c:3613
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "không thể di dời thư mục git từ “%s” sang “%s”"
@@ -3895,12 +3981,12 @@ msgstr "Nội dung lọc"
 msgid "could not stat file '%s'"
 msgstr "không thể lấy thống kê tập tin “%s”"
 
-#: environment.c:150
+#: environment.c:152
 #, c-format
 msgid "bad git namespace path \"%s\""
 msgstr "đường dẫn không gian tên git \"%s\" sai"
 
-#: environment.c:337
+#: environment.c:335
 #, c-format
 msgid "could not set GIT_DIR to '%s'"
 msgstr "không thể đặt GIT_DIR thành “%s”"
@@ -3935,32 +4021,32 @@ msgstr "không thể ghi lên máy phục vụ"
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc cần multi_ack_detailed"
 
-#: fetch-pack.c:378 fetch-pack.c:1406
+#: fetch-pack.c:378 fetch-pack.c:1457
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "dòng shallow không hợp lệ: %s"
 
-#: fetch-pack.c:384 fetch-pack.c:1412
+#: fetch-pack.c:384 fetch-pack.c:1463
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "dòng unshallow không hợp lệ: %s"
 
-#: fetch-pack.c:386 fetch-pack.c:1414
+#: fetch-pack.c:386 fetch-pack.c:1465
 #, c-format
 msgid "object not found: %s"
 msgstr "không tìm thấy đối tượng: %s"
 
-#: fetch-pack.c:389 fetch-pack.c:1417
+#: fetch-pack.c:389 fetch-pack.c:1468
 #, c-format
 msgid "error in object: %s"
 msgstr "lỗi trong đối tượng: %s"
 
-#: fetch-pack.c:391 fetch-pack.c:1419
+#: fetch-pack.c:391 fetch-pack.c:1470
 #, c-format
 msgid "no shallow found: %s"
 msgstr "không tìm shallow nào: %s"
 
-#: fetch-pack.c:394 fetch-pack.c:1423
+#: fetch-pack.c:394 fetch-pack.c:1474
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "cần shallow/unshallow, nhưng lại nhận được %s"
@@ -3998,172 +4084,176 @@ msgstr "Đánh dấu %s là đã hoàn thành"
 msgid "already have %s (%s)"
 msgstr "đã sẵn có %s (%s)"
 
-#: fetch-pack.c:827
+#: fetch-pack.c:844
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack: không thể rẽ nhánh sideband demultiplexer"
 
-#: fetch-pack.c:835
+#: fetch-pack.c:852
 msgid "protocol error: bad pack header"
 msgstr "lỗi giao thức: phần đầu gói bị sai"
 
-#: fetch-pack.c:919
+#: fetch-pack.c:946
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack: không thể rẽ nhánh %s"
 
-#: fetch-pack.c:937
+#: fetch-pack.c:952
+msgid "fetch-pack: invalid index-pack output"
+msgstr "fetch-pack: kết xuất index-pack không hợp lệ"
+
+#: fetch-pack.c:969
 #, c-format
 msgid "%s failed"
 msgstr "%s gặp lỗi"
 
-#: fetch-pack.c:939
+#: fetch-pack.c:971
 msgid "error in sideband demultiplexer"
 msgstr "có lỗi trong sideband demultiplexer"
 
-#: fetch-pack.c:982
+#: fetch-pack.c:1031
 #, c-format
 msgid "Server version is %.*s"
 msgstr "Phiên bản máy chủ là %.*s"
 
-#: fetch-pack.c:990 fetch-pack.c:996 fetch-pack.c:999 fetch-pack.c:1005
-#: fetch-pack.c:1009 fetch-pack.c:1013 fetch-pack.c:1017 fetch-pack.c:1021
-#: fetch-pack.c:1025 fetch-pack.c:1029 fetch-pack.c:1033 fetch-pack.c:1037
-#: fetch-pack.c:1043 fetch-pack.c:1049 fetch-pack.c:1054 fetch-pack.c:1059
+#: fetch-pack.c:1039 fetch-pack.c:1045 fetch-pack.c:1048 fetch-pack.c:1054
+#: fetch-pack.c:1058 fetch-pack.c:1062 fetch-pack.c:1066 fetch-pack.c:1070
+#: fetch-pack.c:1074 fetch-pack.c:1078 fetch-pack.c:1082 fetch-pack.c:1086
+#: fetch-pack.c:1092 fetch-pack.c:1098 fetch-pack.c:1103 fetch-pack.c:1108
 #, c-format
 msgid "Server supports %s"
 msgstr "Máy chủ hỗ trợ %s"
 
-#: fetch-pack.c:992
+#: fetch-pack.c:1041
 msgid "Server does not support shallow clients"
 msgstr "Máy chủ không hỗ trợ máy khách shallow"
 
-#: fetch-pack.c:1052
+#: fetch-pack.c:1101
 msgid "Server does not support --shallow-since"
 msgstr "Máy chủ không hỗ trợ --shallow-since"
 
-#: fetch-pack.c:1057
+#: fetch-pack.c:1106
 msgid "Server does not support --shallow-exclude"
 msgstr "Máy chủ không hỗ trợ --shallow-exclude"
 
-#: fetch-pack.c:1061
+#: fetch-pack.c:1110
 msgid "Server does not support --deepen"
 msgstr "Máy chủ không hỗ trợ --deepen"
 
-#: fetch-pack.c:1063
+#: fetch-pack.c:1112
 msgid "Server does not support this repository's object format"
 msgstr "Máy chủ không hỗ trợ định dạng đối tượng của kho này"
 
-#: fetch-pack.c:1076
+#: fetch-pack.c:1125
 msgid "no common commits"
 msgstr "không có lần chuyển giao chung nào"
 
-#: fetch-pack.c:1088 fetch-pack.c:1628
+#: fetch-pack.c:1138 fetch-pack.c:1682
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack: fetch gặp lỗi."
 
-#: fetch-pack.c:1214
+#: fetch-pack.c:1265
 #, c-format
 msgid "mismatched algorithms: client %s; server %s"
 msgstr "các thuật toán không khớp nhau: máy khách %s; máy chủ %s"
 
-#: fetch-pack.c:1218
+#: fetch-pack.c:1269
 #, c-format
 msgid "the server does not support algorithm '%s'"
 msgstr "máy chủ không hỗ trợ thuật toán “%s”"
 
-#: fetch-pack.c:1238
+#: fetch-pack.c:1289
 msgid "Server does not support shallow requests"
 msgstr "Máy chủ không hỗ trợ yêu cầu shallow"
 
-#: fetch-pack.c:1245
+#: fetch-pack.c:1296
 msgid "Server supports filter"
 msgstr "Máy chủ hỗ trợ bộ lọc"
 
-#: fetch-pack.c:1284
+#: fetch-pack.c:1335
 msgid "unable to write request to remote"
 msgstr "không thể ghi các yêu cầu lên máy phục vụ"
 
-#: fetch-pack.c:1302
+#: fetch-pack.c:1353
 #, 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:1308
+#: fetch-pack.c:1359
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "cần “%s”, nhưng lại nhận “%s”"
 
-#: fetch-pack.c:1369
+#: fetch-pack.c:1420
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "gặp dòng không được thừa nhận: “%s”"
 
-#: fetch-pack.c:1374
+#: fetch-pack.c:1425
 #, 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:1384
+#: fetch-pack.c:1435
 msgid "expected packfile to be sent after 'ready'"
 msgstr "cần tập tin gói để gửi sau “ready”"
 
-#: fetch-pack.c:1386
+#: fetch-pack.c:1437
 msgid "expected no other sections to be sent after no 'ready'"
 msgstr "không cần thêm phần nào để gửi sau “ready”"
 
-#: fetch-pack.c:1428
+#: fetch-pack.c:1479
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "lỗi xử lý thông tin shallow: %d"
 
-#: fetch-pack.c:1475
+#: fetch-pack.c:1526
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "cần wanted-ref, nhưng lại nhận được “%s”"
 
-#: fetch-pack.c:1480
+#: fetch-pack.c:1531
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "wanted-ref không được mong đợi: “%s”"
 
-#: fetch-pack.c:1485
+#: fetch-pack.c:1536
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "lỗi khi xử lý wanted refs: %d"
 
-#: fetch-pack.c:1515
+#: fetch-pack.c:1566
 msgid "git fetch-pack: expected response end packet"
 msgstr "git fetch-pack: cần nhận được trả lời là kết thúc gói"
 
-#: fetch-pack.c:1897
+#: fetch-pack.c:1960
 msgid "no matching remote head"
 msgstr "không khớp phần đầu máy chủ"
 
-#: fetch-pack.c:1920 builtin/clone.c:693
+#: fetch-pack.c:1983 builtin/clone.c:693
 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:1947
+#: fetch-pack.c:2010
 #, 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:1950
+#: fetch-pack.c:2013
 #, 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:272
+#: gpg-interface.c:273
 msgid "could not create temporary file"
 msgstr "không thể tạo tập tin tạm thời"
 
-#: gpg-interface.c:275
+#: gpg-interface.c:276
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "gặp lỗi khi ghi chữ ký đính kèm vào “%s”"
 
-#: gpg-interface.c:457
+#: gpg-interface.c:470
 msgid "gpg failed to sign the data"
 msgstr "gpg gặp lỗi khi ký dữ liệu"
 
@@ -4172,7 +4262,7 @@ msgstr "gpg gặp lỗi khi ký dữ liệu"
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "bỏ qua màu không hợp lệ “%.*s” trong log.graphColors"
 
-#: grep.c:640
+#: grep.c:543
 msgid ""
 "given pattern contains NULL byte (via -f <file>). This is only supported "
 "with -P under PCRE v2"
@@ -4180,18 +4270,18 @@ msgstr ""
 "mẫu đã cho có chứa NULL byte (qua -f <file>). Điều này chỉ được hỗ trợ với -"
 "P dưới PCRE v2"
 
-#: grep.c:2100
+#: grep.c:1906
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "“%s”: không thể đọc %s"
 
-#: grep.c:2117 setup.c:176 builtin/clone.c:412 builtin/diff.c:89
+#: grep.c:1923 setup.c:176 builtin/clone.c:412 builtin/diff.c:90
 #: builtin/rm.c:135
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "gặp lỗi khi lấy thống kê về “%s”"
 
-#: grep.c:2128
+#: grep.c:1934
 #, c-format
 msgid "'%s': short read"
 msgstr "“%s”: đọc ngắn"
@@ -4261,7 +4351,7 @@ msgstr "các lệnh git sẵn có từ một nơi khác trong $PATH của bạn"
 msgid "These are common Git commands used in various situations:"
 msgstr "Có các lệnh Git chung được sử dụng trong các tình huống khác nhau:"
 
-#: help.c:365 git.c:99
+#: help.c:365 git.c:100
 #, c-format
 msgid "unsupported command listing type '%s'"
 msgstr "không hỗ trợ liệt kê lệnh kiểu “%s”"
@@ -4492,129 +4582,52 @@ msgstr ""
 msgid "Unable to create '%s.lock': %s"
 msgstr "Không thể tạo “%s.lock”: %s"
 
-#: ls-refs.c:109
-msgid "expected flush after ls-refs arguments"
-msgstr "cần đẩy dữ liệu lên đĩa sau tham số ls-refs (liệt kê tham chiếu)"
-
-#: merge-ort-wrappers.c:13 merge-recursive.c:3672
-#, c-format
-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-ort-wrappers.c:33 merge-recursive.c:3436
-#, c-format
-msgid "Already up to date!"
-msgstr "Đã cập nhật rồi!"
-
-#: merge-recursive.c:356
-msgid "(bad commit)\n"
-msgstr "(commit sai)\n"
-
-#: merge-recursive.c:379
-#, 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:388
-#, 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:874
-#, 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:885
-#, 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:899 merge-recursive.c:918
-msgid ": perhaps a D/F conflict?"
-msgstr ": có lẽ là một xung đột D/F?"
-
-#: merge-recursive.c:908
-#, 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:949 builtin/cat-file.c:41
-#, c-format
-msgid "cannot read object %s '%s'"
-msgstr "không thể đọc đối tượng %s “%s”"
-
-#: merge-recursive.c:954
-#, c-format
-msgid "blob expected for %s '%s'"
-msgstr "mong đợi đối tượng blob cho %s “%s”"
-
-#: merge-recursive.c:979
-#, c-format
-msgid "failed to open '%s': %s"
-msgstr "gặp lỗi khi mở “%s”: %s"
-
-#: merge-recursive.c:990
+#: ls-refs.c:37
 #, 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"
+msgid "invalid value '%s' for lsrefs.unborn"
+msgstr "giá trị '%s' không hợp lệ cho lsrefs.unborn"
 
-#: merge-recursive.c:995
-#, 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”"
+#: ls-refs.c:167
+msgid "expected flush after ls-refs arguments"
+msgstr "cần đẩy dữ liệu lên đĩa sau tham số ls-refs (liệt kê tham chiếu)"
 
-#: merge-recursive.c:1191
+#: merge-ort.c:888 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:1198
+#: merge-ort.c:897 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:1205
+#: merge-ort.c:906 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:1213 merge-recursive.c:1225
+#: merge-ort.c:916 merge-ort.c:923
 #, 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:"
+msgid "Note: Fast-forwarding submodule %s to %s"
+msgstr "Chú ý: Chuyển-tiếp-nhanh mô-đun-con “%s” sang “%s”"
 
-#: merge-recursive.c:1216 merge-recursive.c:1228
+#: merge-ort.c:944
 #, c-format
-msgid "Fast-forwarding submodule %s"
-msgstr "Chuyển-tiếp-nhanh mô-đun-con “%s”"
+msgid "Failed to merge submodule %s"
+msgstr "Gặp lỗi khi hòa trộn mô-đun-con “%s”"
 
-#: merge-recursive.c:1251
+#: merge-ort.c:951
 #, c-format
-msgid "Failed to merge submodule %s (merge following commits not found)"
+msgid ""
+"Failed to merge submodule %s, but a possible merge resolution exists:\n"
+"%s\n"
 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:1255
-#, 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:1256
-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"
+"Gặp lỗi khi hòa trộn mô-đun-con “%s”, nhưng có cách giải quyết:\n"
+"%s\n"
 
-#: merge-recursive.c:1259
+#: merge-ort.c:955 merge-recursive.c:1259
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
@@ -4631,70 +4644,337 @@ msgstr ""
 "\n"
 "cái mà sẽ chấp nhận gợi ý này.\n"
 
-#: merge-recursive.c:1268
+#: merge-ort.c:968
 #, 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)"
+msgid ""
+"Failed to merge submodule %s, but multiple possible merges exist:\n"
+"%s"
+msgstr ""
+"Gặp lỗi khi hòa trộn mô-đun-con “%s”, nhưng có nhiều cách giải quyết:\n"
+"%s"
 
-#: merge-recursive.c:1341
+#: merge-ort.c:1127 merge-recursive.c:1341
 msgid "Failed to execute internal merge"
 msgstr "Gặp lỗi khi thực hiện trộn nội bộ"
 
-#: merge-recursive.c:1346
+#: merge-ort.c:1132 merge-recursive.c:1346
 #, 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:1378
+#: merge-ort.c:1139 merge-recursive.c:1378
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Tự-động-hòa-trộn %s"
 
-#: merge-recursive.c:1402
+#: merge-ort.c:1278 merge-recursive.c:2100
 #, c-format
-msgid "Error: Refusing to lose untracked file at %s; writing to %s instead."
+msgid ""
+"CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
+"implicit directory rename(s) putting the following path(s) there: %s."
 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."
+"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:1474
+#: merge-ort.c:1288 merge-recursive.c:2110
 #, c-format
 msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
-"in tree."
+"CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
+"implicit directory renames tried to put these paths there: %s"
 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)."
+"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 Ä\91á»\95i tên thư mục ngầm cá»\91 Ä\91ặt các Ä\91ưá»\9dng dẫn á»\9f Ä\91ây: %s"
 
-#: merge-recursive.c:1479
+#: merge-ort.c:1471
 #, c-format
 msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
-"left in tree."
+"CONFLICT (directory rename split): Unclear where to rename %s to; it was "
+"renamed to multiple other directories, with no destination getting a "
+"majority of the files."
 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)."
+"XUNG ĐỘT: (thư mục đổi tên chia tách): Không rõ ràng nơi để đổi tên %s "
+"thành; nó đã bị đổi tên thành nhiều thư mục khác, với không đích đến nhận "
+"một phần nhiều của các tập tin."
 
-#: merge-recursive.c:1486
+#: merge-ort.c:1637 merge-recursive.c:2447
 #, c-format
 msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
-"in tree at %s."
+"WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
+"renamed."
 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."
+"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:1491
+#: merge-ort.c:1781 merge-recursive.c:3215
 #, c-format
 msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
-"left in tree at %s."
+"Path updated: %s added in %s inside a directory that was renamed in %s; "
+"moving it to %s."
 msgstr ""
-"XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s đến %s trong %s. Phiên bản %s "
-"của %s còn lại trong cây (tree) tại %s."
+"Đường dẫn đã được cập nhật: %s được thêm vào trong %s bên trong một thư mục "
+"đã được đổi tên trong %s; di chuyển nó đến %s."
 
-#: merge-recursive.c:1526
-msgid "rename"
+#: merge-ort.c:1788 merge-recursive.c:3222
+#, c-format
+msgid ""
+"Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
+"%s; moving it to %s."
+msgstr ""
+"Đường dẫn đã được cập nhật: %s được đổi tên thành %s trong %s, bên trong một "
+"thư mục đã được đổi tên trong %s; di chuyển nó đến %s."
+
+#: merge-ort.c:1801 merge-recursive.c:3218
+#, c-format
+msgid ""
+"CONFLICT (file location): %s added in %s inside a directory that was renamed "
+"in %s, suggesting it should perhaps be moved to %s."
+msgstr ""
+"XUNG ĐỘT (vị trí tệp): %s được thêm vào trong %s trong một thư mục đã được "
+"đổi tên thành %s, đoán là nó nên được di chuyển đến %s."
+
+#: merge-ort.c:1809 merge-recursive.c:3225
+#, c-format
+msgid ""
+"CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
+"was renamed in %s, suggesting it should perhaps be moved to %s."
+msgstr ""
+"XUNG ĐỘT (vị trí tệp): %s được đổi tên thành %s trong %s, bên trong một thư "
+"mục đã được đổi tên thành %s, đoán là nó nên được di chuyển đến %s."
+
+#: merge-ort.c:1952
+#, c-format
+msgid "CONFLICT (rename/rename): %s renamed to %s in %s and to %s in %s."
+msgstr ""
+"XUNG ĐỘT (đổi-tên/đổi-tên): Đổi tên %s->%s trong %s và thành %s trong %s."
+
+#: merge-ort.c:2047
+#, c-format
+msgid ""
+"CONFLICT (rename involved in collision): rename of %s -> %s has content "
+"conflicts AND collides with another path; this may result in nested conflict "
+"markers."
+msgstr ""
+"XUNG ĐỘT (đổi tên liên quan đến va chạm): đổi tên %s -> %s xung đột nội dung "
+"VÀ va chạm với một đường dẫn khác; điều này có thể dẫn đến tạo ra các xung "
+"đột lồng nhau."
+
+#: merge-ort.c:2066 merge-ort.c:2090
+#, c-format
+msgid "CONFLICT (rename/delete): %s renamed to %s in %s, but deleted in %s."
+msgstr ""
+"XUNG ĐỘT (đổi-tên/xóa): Đổi tên %s->%s trong %s, nhưng lại bị xóa trong %s."
+
+#: merge-ort.c:2735
+#, c-format
+msgid ""
+"CONFLICT (file/directory): directory in the way of %s from %s; moving it to "
+"%s instead."
+msgstr ""
+"XUNG ĐỘT (tập tin/thư mục): thư mục theo cách của %s từ %s; thay vào đó, di "
+"chuyển nó đến %s."
+
+#: merge-ort.c:2808
+#, c-format
+msgid ""
+"CONFLICT (distinct types): %s had different types on each side; renamed %s "
+"of them so each can be recorded somewhere."
+msgstr ""
+"CONFLICT (các loại riêng biệt): %s có các loại khác nhau ở mỗi bên; được đổi "
+"tên %s trong số chúng để mỗi cái có thể được ghi lại ở đâu đó."
+
+#: merge-ort.c:2812
+msgid "both"
+msgstr "cả hai"
+
+#: merge-ort.c:2812
+msgid "one"
+msgstr "một"
+
+#: merge-ort.c:2907 merge-recursive.c:3052
+msgid "content"
+msgstr "nội dung"
+
+#: merge-ort.c:2909 merge-recursive.c:3056
+msgid "add/add"
+msgstr "thêm/thêm"
+
+#: merge-ort.c:2911 merge-recursive.c:3101
+msgid "submodule"
+msgstr "mô-đun-con"
+
+#: merge-ort.c:2913 merge-recursive.c:3102
+#, c-format
+msgid "CONFLICT (%s): Merge conflict in %s"
+msgstr "XUNG ĐỘT (%s): Xung đột hòa trộn trong %s"
+
+#: merge-ort.c:2938
+#, c-format
+msgid ""
+"CONFLICT (modify/delete): %s deleted in %s and modified in %s.  Version %s "
+"of %s left in tree."
+msgstr ""
+"XUNG ĐỘT (sửa/xóa): %s bị xóa trong %s và sửa trong %s. Phiên bản %s của %s "
+"còn lại trong cây (tree)."
+
+#. TRANSLATORS: The %s arguments are: 1) tree hash of a merge
+#. base, and 2-3) the trees for the two trees we're merging.
+#.
+#: merge-ort.c:3406
+#, c-format
+msgid "collecting merge info failed for trees %s, %s, %s"
+msgstr "thu thập thông tin hòa trộn gặp lỗi cho cây %s, %s, %s"
+
+#: merge-ort-wrappers.c:13 merge-recursive.c:3661
+#, c-format
+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-ort-wrappers.c:33 merge-recursive.c:3436
+#, c-format
+msgid "Already up to date!"
+msgstr "Đã cập nhật rồi!"
+
+#: merge-recursive.c:356
+msgid "(bad commit)\n"
+msgstr "(commit sai)\n"
+
+#: merge-recursive.c:379
+#, 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:388
+#, 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:874
+#, 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:885
+#, 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:899 merge-recursive.c:918
+msgid ": perhaps a D/F conflict?"
+msgstr ": có lẽ là một xung đột D/F?"
+
+#: merge-recursive.c:908
+#, 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:949 builtin/cat-file.c:41
+#, c-format
+msgid "cannot read object %s '%s'"
+msgstr "không thể đọc đối tượng %s “%s”"
+
+#: merge-recursive.c:954
+#, c-format
+msgid "blob expected for %s '%s'"
+msgstr "mong đợi đối tượng blob cho %s “%s”"
+
+#: merge-recursive.c:979
+#, c-format
+msgid "failed to open '%s': %s"
+msgstr "gặp lỗi khi mở “%s”: %s"
+
+#: merge-recursive.c:990
+#, 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:995
+#, 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: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: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:1251
+#, 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:1255
+#, 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:1256
+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:1268
+#, 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:1402
+#, 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:1474
+#, c-format
+msgid ""
+"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
+"in tree."
+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:1479
+#, c-format
+msgid ""
+"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
+"left in tree."
+msgstr ""
+"XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s đến %s trong %s. Phiên bản %s "
+"của %s còn lại trong cây (tree)."
+
+#: merge-recursive.c:1486
+#, c-format
+msgid ""
+"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
+"in tree at %s."
+msgstr ""
+"XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s trong %s. Phiên bản %s của %s "
+"còn lại trong cây (tree) tại %s."
+
+#: merge-recursive.c:1491
+#, c-format
+msgid ""
+"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
+"left in tree at %s."
+msgstr ""
+"XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s đến %s trong %s. Phiên bản %s "
+"của %s còn lại trong cây (tree) tại %s."
+
+#: merge-recursive.c:1526
+msgid "rename"
 msgstr "đổi tên"
 
 #: merge-recursive.c:1526
@@ -4761,24 +5041,6 @@ 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:2100
-#, c-format
-msgid ""
-"CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
-"implicit directory rename(s) putting the following path(s) there: %s."
-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:2110
-#, c-format
-msgid ""
-"CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
-"implicit directory renames tried to put these paths there: %s"
-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:2202
 #, c-format
 msgid ""
@@ -4788,15 +5050,6 @@ 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:2447
-#, c-format
-msgid ""
-"WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
-"renamed."
-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:2973
 #, c-format
 msgid "cannot read object %s"
@@ -4815,70 +5068,17 @@ msgstr "sửa đổi"
 msgid "modified"
 msgstr "đã sửa"
 
-#: merge-recursive.c:3052
-msgid "content"
-msgstr "nội dung"
-
-#: merge-recursive.c:3056
-msgid "add/add"
-msgstr "thêm/thêm"
-
 #: merge-recursive.c:3079
 #, 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:3101
-msgid "submodule"
-msgstr "mô-đun-con"
-
-#: merge-recursive.c:3102
-#, c-format
-msgid "CONFLICT (%s): Merge conflict in %s"
-msgstr "XUNG ĐỘT (%s): Xung đột hòa trộn trong %s"
-
 #: merge-recursive.c:3132
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Thay vào đó thêm vào %s"
 
-#: merge-recursive.c:3215
-#, c-format
-msgid ""
-"Path updated: %s added in %s inside a directory that was renamed in %s; "
-"moving it to %s."
-msgstr ""
-"Đường dẫn đã được cập nhật: %s được thêm vào trong %s bên trong một thư mục "
-"đã được đổi tên trong %s; di chuyển nó đến %s."
-
-#: merge-recursive.c:3218
-#, c-format
-msgid ""
-"CONFLICT (file location): %s added in %s inside a directory that was renamed "
-"in %s, suggesting it should perhaps be moved to %s."
-msgstr ""
-"XUNG ĐỘT (vị trí tệp): %s được thêm vào trong %s trong một thư mục đã được "
-"đổi tên thành %s, đoán là nó nên được di chuyển đến %s."
-
-#: merge-recursive.c:3222
-#, c-format
-msgid ""
-"Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
-"%s; moving it to %s."
-msgstr ""
-"Đường dẫn đã được cập nhật: %s được đổi tên thành %s trong %s, bên trong một "
-"thư mục đã được đổi tên trong %s; di chuyển nó đến %s."
-
-#: merge-recursive.c:3225
-#, c-format
-msgid ""
-"CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
-"was renamed in %s, suggesting it should perhaps be moved to %s."
-msgstr ""
-"XUNG ĐỘT (vị trí tệp): %s được đổi tên thành %s trong %s, bên trong một thư "
-"mục đã được đổi tên thành %s, đoán là nó nên được di chuyển đến %s."
-
-#: merge-recursive.c:3339
+#: merge-recursive.c:3339
 #, c-format
 msgid "Removing %s"
 msgstr "Đang xóa %s"
@@ -4913,26 +5113,27 @@ msgstr "XUNG ĐỘT (thêm/thêm): Xung đột hòa trộn trong %s"
 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:3550
+#: merge-recursive.c:3539
 msgid "Merging:"
 msgstr "Đang trộn:"
 
-#: merge-recursive.c:3563
+#: merge-recursive.c:3552
 #, 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:3613
+#: merge-recursive.c:3602
 msgid "merge returned no commit"
 msgstr "hòa trộn không trả về lần chuyển giao nào"
 
-#: merge-recursive.c:3769
+#: merge-recursive.c:3758
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Không thể phân tích đối tượng “%s”"
 
-#: merge-recursive.c:3787 builtin/merge.c:711 builtin/merge.c:895
+#: merge-recursive.c:3776 builtin/merge.c:712 builtin/merge.c:896
+#: builtin/stash.c:471
 msgid "Unable to write index."
 msgstr "Không thể ghi bảng mục lục."
 
@@ -4940,185 +5141,177 @@ msgstr "Không thể ghi bảng mục lục."
 msgid "failed to read the cache"
 msgstr "gặp lỗi khi đọc bộ nhớ đệm"
 
-#: merge.c:109 rerere.c:720 builtin/am.c:1883 builtin/am.c:1917
-#: builtin/checkout.c:573 builtin/checkout.c:829 builtin/clone.c:817
+#: merge.c:109 rerere.c:704 builtin/am.c:1883 builtin/am.c:1917
+#: builtin/checkout.c:575 builtin/checkout.c:828 builtin/clone.c:817
 #: builtin/stash.c:265
 msgid "unable to write new index file"
 msgstr "không thể ghi tập tin lưu bảng mục lục mới"
 
-#: midx.c:80
+#: midx.c:62
+msgid "multi-pack-index OID fanout is of the wrong size"
+msgstr "fanout OID nhiều gói chỉ mục có kích thước sai"
+
+#: midx.c:93
 #, c-format
 msgid "multi-pack-index file %s is too small"
 msgstr "tập tin đồ thị multi-pack-index %s quá nhỏ"
 
-#: midx.c:96
+#: midx.c:109
 #, c-format
 msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
 msgstr "chữ ký multi-pack-index 0x%08x không khớp chữ ký 0x%08x"
 
-#: midx.c:101
+#: midx.c:114
 #, c-format
 msgid "multi-pack-index version %d not recognized"
 msgstr "không nhận ra phiên bản %d của multi-pack-index"
 
-#: midx.c:106
+#: midx.c:119
 #, c-format
 msgid "multi-pack-index hash version %u does not match version %u"
 msgstr "phiên bản băm multi-pack-index %u không khớp phiên bản %u"
 
-#: midx.c:123
-msgid "invalid chunk offset (too large)"
-msgstr "khoảng bù đoạn không hợp lệ (quá lớn)"
-
-#: midx.c:147
-msgid "terminating multi-pack-index chunk id appears earlier than expected"
-msgstr "mã mảnh kết thúc multi-pack-index xuất hiện sớm hơn bình thường"
-
-#: midx.c:160
+#: midx.c:136
 msgid "multi-pack-index missing required pack-name chunk"
 msgstr "multi-pack-index thiếu mảnh pack-name cần thiết"
 
-#: midx.c:162
+#: midx.c:138
 msgid "multi-pack-index missing required OID fanout chunk"
 msgstr "multi-pack-index thiếu mảnh OID fanout cần thiết"
 
-#: midx.c:164
+#: midx.c:140
 msgid "multi-pack-index missing required OID lookup chunk"
 msgstr "multi-pack-index thiếu mảnh OID lookup cần thiết"
 
-#: midx.c:166
+#: midx.c:142
 msgid "multi-pack-index missing required object offsets chunk"
 msgstr "multi-pack-index thiếu mảnh các khoảng bù đối tượng cần thiết"
 
-#: midx.c:180
+#: midx.c:158
 #, c-format
 msgid "multi-pack-index pack names out of order: '%s' before '%s'"
 msgstr "các tên gói multi-pack-index không đúng thứ tự: “%s” trước “%s”"
 
-#: midx.c:223
+#: midx.c:202
 #, c-format
 msgid "bad pack-int-id: %u (%u total packs)"
 msgstr "pack-int-id sai: %u (%u các gói tổng)"
 
-#: midx.c:273
+#: midx.c:252
 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
 msgstr "multi-pack-index lưu trữ một khoảng bù 64-bít, nhưng off_t là quá nhỏ"
 
-#: midx.c:480
+#: midx.c:467
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr "gặp lỗi khi thêm tập tin gói “%s”"
 
-#: midx.c:486
+#: midx.c:473
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr "gặp lỗi khi mở pack-index “%s”"
 
-#: midx.c:546
+#: midx.c:533
 #, c-format
 msgid "failed to locate object %d in packfile"
 msgstr "gặp lỗi khi phân bổ đối tượng “%d” trong tập tin gói"
 
-#: midx.c:846
+#: midx.c:821
 msgid "Adding packfiles to multi-pack-index"
 msgstr "Đang thêm tập tin gói từ multi-pack-index"
 
-#: midx.c:879
+#: midx.c:855
 #, c-format
 msgid "did not see pack-file %s to drop"
 msgstr "đã không thấy tập tin gói %s để mà xóa"
 
-#: midx.c:931
+#: midx.c:904
 msgid "no pack files to index."
 msgstr "không có tập tin gói để đánh mục lục."
 
-#: midx.c:982
-msgid "Writing chunks to multi-pack-index"
-msgstr "Đang ghi các khúc vào multi-pack-index"
-
-#: midx.c:1060
+#: midx.c:965
 #, c-format
 msgid "failed to clear multi-pack-index at %s"
 msgstr "gặp lỗi khi xóa multi-pack-index tại %s"
 
-#: midx.c:1116
+#: midx.c:1021
 msgid "multi-pack-index file exists, but failed to parse"
 msgstr "đã có tập tin multi-pack-index, nhưng gặp lỗi khi phân tích cú pháp"
 
-#: midx.c:1124
+#: midx.c:1029
 msgid "Looking for referenced packfiles"
 msgstr "Đang khóa cho các gói bị tham chiếu"
 
-#: midx.c:1139
+#: midx.c:1044
 #, c-format
 msgid ""
 "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
 msgstr "fanout cũ sai thứ tự: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
 
-#: midx.c:1144
+#: midx.c:1049
 msgid "the midx contains no oid"
 msgstr "midx chẳng chứa oid nào"
 
-#: midx.c:1153
+#: midx.c:1058
 msgid "Verifying OID order in multi-pack-index"
 msgstr "Thẩm tra thứ tự OID trong multi-pack-index"
 
-#: midx.c:1162
+#: midx.c:1067
 #, c-format
 msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
 msgstr "lookup cũ sai thứ tự: oid[%d] = %s >= %s = oid[%d]"
 
-#: midx.c:1182
+#: midx.c:1087
 msgid "Sorting objects by packfile"
 msgstr "Đang sắp xếp các đối tượng theo tập tin gói"
 
-#: midx.c:1189
+#: midx.c:1094
 msgid "Verifying object offsets"
 msgstr "Đang thẩm tra các khoảng bù đối tượng"
 
-#: midx.c:1205
+#: midx.c:1110
 #, c-format
 msgid "failed to load pack entry for oid[%d] = %s"
 msgstr "gặp lỗi khi tải mục gói cho oid[%d] = %s"
 
-#: midx.c:1211
+#: midx.c:1116
 #, c-format
 msgid "failed to load pack-index for packfile %s"
 msgstr "gặp lỗi khi tải pack-index cho tập tin gói %s"
 
-#: midx.c:1220
+#: midx.c:1125
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr ""
 "khoảng bù đối tượng không đúng cho oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 
-#: midx.c:1245
+#: midx.c:1150
 msgid "Counting referenced objects"
 msgstr "Đang đếm các đối tượng được tham chiếu"
 
-#: midx.c:1255
+#: midx.c:1160
 msgid "Finding and deleting unreferenced packfiles"
 msgstr "Đang tìm và xóa các gói không được tham chiếu"
 
-#: midx.c:1446
+#: midx.c:1351
 msgid "could not start pack-objects"
 msgstr "không thể lấy thông tin thống kê về các đối tượng gói"
 
-#: midx.c:1466
+#: midx.c:1371
 msgid "could not finish pack-objects"
 msgstr "không thể hoàn thiện các đối tượng gói"
 
-#: name-hash.c:537
+#: name-hash.c:538
 #, c-format
 msgid "unable to create lazy_dir thread: %s"
 msgstr "không thể tạo tuyến lazy_dir: %s"
 
-#: name-hash.c:559
+#: name-hash.c:560
 #, c-format
 msgid "unable to create lazy_name thread: %s"
 msgstr "không thể tạo tuyến lazy_name: %s"
 
-#: name-hash.c:565
+#: name-hash.c:566
 #, c-format
 msgid "unable to join lazy_name thread: %s"
 msgstr "không thể gia nhập tuyến lazy_name: %s"
@@ -5165,2989 +5358,3052 @@ msgstr "Từ chối ghi đè ghi chú trong %s (nằm ngoài refs/notes/)"
 msgid "Bad %s value: '%s'"
 msgstr "Giá trị %s sai: “%s”"
 
-#: object.c:53
+#: object-file.c:480
 #, c-format
-msgid "invalid object type \"%s\""
-msgstr "kiểu đối tượng \"%s\" không hợp lệ"
+msgid "object directory %s does not exist; check .git/objects/info/alternates"
+msgstr ""
+"thư mục đối tượng %s không tồn tại; kiểm tra .git/objects/info/alternates"
 
-#: object.c:173
+#: object-file.c:531
 #, 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"
+msgid "unable to normalize alternate object path: %s"
+msgstr "không thể thường hóa đường dẫn đối tượng thay thế: “%s”"
 
-#: object.c:233
+#: object-file.c:603
 #, c-format
-msgid "object %s has unknown type id %d"
-msgstr "đối tượng %s có mã kiểu %d chưa biết"
+msgid "%s: ignoring alternate object stores, nesting too deep"
+msgstr "%s: đang bỏ qua kho đối tượng thay thế, lồng nhau quá sâu"
 
-#: object.c:246
+#: object-file.c:610
 #, c-format
-msgid "unable to parse object: %s"
-msgstr "không thể phân tích đối tượng: “%s”"
+msgid "unable to normalize object directory: %s"
+msgstr "không thể chuẩn hóa thư mục đối tượng: “%s”"
 
-#: object.c:266 object.c:278
-#, c-format
-msgid "hash mismatch %s"
-msgstr "mã băm không khớp %s"
+#: object-file.c:653
+msgid "unable to fdopen alternates lockfile"
+msgstr "không thể fdopen tập tin khóa thay thế"
 
-#: pack-bitmap.c:815 pack-bitmap.c:821 builtin/pack-objects.c:2216
-#, c-format
-msgid "unable to get size of %s"
-msgstr "không thể lấy kích cỡ của %s"
+#: object-file.c:671
+msgid "unable to read alternates file"
+msgstr "không thể đọc tập tin thay thế"
 
-#: packfile.c:615
-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 à?)"
+#: object-file.c:678
+msgid "unable to move new alternates file into place"
+msgstr "không thể di chuyển tập tin thay thế vào chỗ"
 
-#: packfile.c:1907
+#: object-file.c:713
 #, 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 à?)"
+msgid "path '%s' does not exist"
+msgstr "đường dẫn “%s” không tồn tại"
 
-#: packfile.c:1911
+#: object-file.c:734
 #, 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 à?)"
+msgid "reference repository '%s' as a linked checkout is not supported yet."
+msgstr "kho tham chiếu “%s” như là lấy ra liên kết vẫn chưa được hỗ trợ."
 
-#: parse-options-cb.c:20 parse-options-cb.c:24
+#: object-file.c:740
 #, c-format
-msgid "option `%s' expects a numerical value"
-msgstr "tùy chọn “%s” cần một giá trị bằng số"
+msgid "reference repository '%s' is not a local repository."
+msgstr "kho tham chiếu “%s” không phải là một kho nội bộ."
 
-#: parse-options-cb.c:41
+#: object-file.c:746
 #, c-format
-msgid "malformed expiration date '%s'"
-msgstr "ngày tháng hết hạn dị hình “%s”"
+msgid "reference repository '%s' is shallow"
+msgstr "kho tham chiếu “%s” là nông"
 
-#: parse-options-cb.c:54
+#: object-file.c:754
 #, c-format
-msgid "option `%s' expects \"always\", \"auto\", or \"never\""
-msgstr "tùy chọn “%s” cần \"always\", \"auto\", hoặc \"never\""
+msgid "reference repository '%s' is grafted"
+msgstr "kho tham chiếu “%s” bị cấy ghép"
 
-#: parse-options-cb.c:132 parse-options-cb.c:149
+#: object-file.c:814
 #, c-format
-msgid "malformed object name '%s'"
-msgstr "tên đối tượng dị hình “%s”"
+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"
 
-#: parse-options.c:38
+#: object-file.c:964
 #, c-format
-msgid "%s requires a value"
-msgstr "“%s” yêu cầu một giá trị"
+msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
+msgstr "đang cố để mmap %<PRIuMAX> vượt quá giới hạn %<PRIuMAX>"
 
-#: parse-options.c:73
-#, c-format
-msgid "%s is incompatible with %s"
-msgstr "%s là xung khắc với %s"
+#: object-file.c:985
+msgid "mmap failed"
+msgstr "mmap gặp lỗi"
 
-#: parse-options.c:78
+#: object-file.c:1149
 #, c-format
-msgid "%s : incompatible with something else"
-msgstr "%s : xung khắc với các cái khác"
+msgid "object file %s is empty"
+msgstr "tập tin đối tượng %s trống rỗng"
 
-#: parse-options.c:92 parse-options.c:96 parse-options.c:317
+#: object-file.c:1284 object-file.c:2477
 #, c-format
-msgid "%s takes no value"
-msgstr "%s k nhận giá trị"
+msgid "corrupt loose object '%s'"
+msgstr "đối tượng mất hỏng “%s”"
 
-#: parse-options.c:94
+#: object-file.c:1286 object-file.c:2481
 #, c-format
-msgid "%s isn't available"
-msgstr "%s không sẵn có"
+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”"
 
-#: parse-options.c:217
-#, c-format
-msgid "%s expects a non-negative integer value with an optional k/m/g suffix"
-msgstr "%s cần một giá trị dạng số không âm với một hậu tố tùy chọn k/m/g"
+#: object-file.c:1328
+msgid "invalid object type"
+msgstr "kiểu đối tượng không hợp lệ"
 
-#: parse-options.c:386
+#: object-file.c:1412
 #, c-format
-msgid "ambiguous option: %s (could be --%s%s or --%s%s)"
-msgstr "tùy chọn chưa rõ rang: %s (nên là --%s%s hay --%s%s)"
+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"
 
-#: parse-options.c:420 parse-options.c:428
+#: object-file.c:1415
 #, c-format
-msgid "did you mean `--%s` (with two dashes)?"
-msgstr "có phải ý bạn là “--%s“ (với hai dấu gạch ngang)?"
+msgid "unable to unpack %s header"
+msgstr "không thể giải gói phần đầu %s"
 
-#: parse-options.c:666 parse-options.c:971
+#: object-file.c:1421
 #, c-format
-msgid "alias of --%s"
-msgstr "bí danh của --%s"
+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"
 
-#: parse-options.c:862
+#: object-file.c:1424
 #, c-format
-msgid "unknown option `%s'"
-msgstr "không hiểu tùy chọn “%s”"
+msgid "unable to parse %s header"
+msgstr "không thể phân tích phần đầu của “%s”"
 
-#: parse-options.c:864
+#: object-file.c:1651
 #, c-format
-msgid "unknown switch `%c'"
-msgstr "không hiểu tùy chọn “%c”"
+msgid "failed to read object %s"
+msgstr "gặp lỗi khi đọc đối tượng “%s”"
 
-#: parse-options.c:866
+#: object-file.c:1655
 #, c-format
-msgid "unknown non-ascii option in string: `%s'"
-msgstr "không hiểu tùy chọn non-ascii trong chuỗi: “%s”"
-
-#: parse-options.c:890
-msgid "..."
-msgstr "…"
+msgid "replacement %s not found for %s"
+msgstr "c%s thay thế không được tìm thấy cho %s"
 
-#: parse-options.c:909
+#: object-file.c:1659
 #, c-format
-msgid "usage: %s"
-msgstr "cách dùng: %s"
+msgid "loose object %s (stored in %s) is corrupt"
+msgstr "đối tượng mất %s (được lưu trong %s) bị hỏng"
 
-#. TRANSLATORS: the colon here should align with the
-#. one in "usage: %s" translation.
-#.
-#: parse-options.c:915
+#: object-file.c:1663
 #, c-format
-msgid "   or: %s"
-msgstr "     hoặc: %s"
+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"
 
-#: parse-options.c:918
+#: object-file.c:1768
 #, c-format
-msgid "    %s"
-msgstr "    %s"
-
-#: parse-options.c:957
-msgid "-NUM"
-msgstr "-SỐ"
+msgid "unable to write file %s"
+msgstr "không thể ghi tập tin %s"
 
-#: path.c:915
+#: object-file.c:1775
 #, c-format
-msgid "Could not make %s writable by group"
-msgstr "Không thể làm %s được ghi bởi nhóm"
-
-#: pathspec.c:130
-msgid "Escape character '\\' not allowed as last character in attr value"
-msgstr ""
-"Ký tự thoát chuỗi “\\” không được phép là ký tự cuối trong giá trị thuộc tính"
+msgid "unable to set permission to '%s'"
+msgstr "không thể đặt quyền thành “%s”"
 
-#: pathspec.c:148
-msgid "Only one 'attr:' specification is allowed."
-msgstr "Chỉ có một đặc tả “attr:” là được phép."
+#: object-file.c:1782
+msgid "file write error"
+msgstr "lỗi ghi tập tin"
 
-#: pathspec.c:151
-msgid "attr spec must not be empty"
-msgstr "đặc tả attr phải không được để trống"
+#: object-file.c:1802
+msgid "error when closing loose object file"
+msgstr "gặp lỗi trong khi đóng tập tin đối tượng"
 
-#: pathspec.c:194
+#: object-file.c:1867
 #, c-format
-msgid "invalid attribute name %s"
-msgstr "tên thuộc tính không hợp lệ %s"
-
-#: pathspec.c:259
-msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
+msgid "insufficient permission for adding an object to repository database %s"
 msgstr ""
-"các cài đặt đặc tả đường dẫn “glob” và “noglob” toàn cục là xung khắc nhau"
+"không đủ thẩm quyền để thêm một đối tượng vào cơ sở dữ liệu kho chứa %s"
 
-#: pathspec.c:266
-msgid ""
-"global 'literal' pathspec setting is incompatible with all other global "
-"pathspec settings"
-msgstr ""
-"cài đặt đặc tả đường dẫn “literal” toàn cục là xung khắc với các cài đặt đặc "
-"tả đường dẫn toàn cục khác"
+#: object-file.c:1869
+msgid "unable to create temporary file"
+msgstr "không thể tạo tập tin tạm thời"
 
-#: pathspec.c:306
-msgid "invalid parameter for pathspec magic 'prefix'"
-msgstr "tham số không hợp lệ cho “tiền tố” màu nhiệm đặc tả đường đẫn"
+#: object-file.c:1893
+msgid "unable to write loose object file"
+msgstr "không thể ghi tập tin đối tượng đã mất"
 
-#: pathspec.c:327
+#: object-file.c:1899
 #, c-format
-msgid "Invalid pathspec magic '%.*s' in '%s'"
-msgstr "Số màu nhiệm đặc tả đường dẫn không hợp lệ “%.*s” trong “%s”"
+msgid "unable to deflate new object %s (%d)"
+msgstr "không thể xả nén đối tượng mới %s (%d)"
 
-#: pathspec.c:332
+#: object-file.c:1903
 #, c-format
-msgid "Missing ')' at the end of pathspec magic in '%s'"
-msgstr "Thiếu “)” tại cuối của số màu nhiệm đặc tả đường dẫn trong “%s”"
+msgid "deflateEnd on object %s failed (%d)"
+msgstr "deflateEnd trên đối tượng %s gặp lỗi (%d)"
 
-#: pathspec.c:370
+#: object-file.c:1907
 #, c-format
-msgid "Unimplemented pathspec magic '%c' in '%s'"
-msgstr "Chưa viết mã cho số màu nhiệm đặc tả đường dẫn “%c” trong “%s”"
+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"
 
-#: pathspec.c:429
+#: object-file.c:1917 builtin/pack-objects.c:1097
 #, c-format
-msgid "%s: 'literal' and 'glob' are incompatible"
-msgstr "%s: “literal” và “glob” xung khắc nhau"
+msgid "failed utime() on %s"
+msgstr "gặp lỗi utime() trên “%s”"
 
-#: pathspec.c:445
+#: object-file.c:1994
 #, c-format
-msgid "%s: '%s' is outside repository at '%s'"
-msgstr "%s: “%s” ngoài một kho chứa tại “%s”"
-
-#: pathspec.c:521
+msgid "cannot read object for %s"
+msgstr "không thể đọc đối tượng cho %s"
+
+#: object-file.c:2045
+msgid "corrupt commit"
+msgstr "lần chuyển giao sai hỏng"
+
+#: object-file.c:2053
+msgid "corrupt tag"
+msgstr "thẻ sai hỏng"
+
+#: object-file.c:2153
 #, c-format
-msgid "'%s' (mnemonic: '%c')"
-msgstr "“%s” (mnemonic: “%c”)"
+msgid "read error while indexing %s"
+msgstr "gặp lỗi đọc khi đánh mục lục %s"
 
-#: pathspec.c:531
+#: object-file.c:2156
 #, c-format
-msgid "%s: pathspec magic not supported by this command: %s"
-msgstr "%s: số mầu nhiệm đặc tả đường dẫn chưa được hỗ trợ bởi lệnh này: %s"
+msgid "short read while indexing %s"
+msgstr "không đọc ngắn khi đánh mục lục %s"
 
-#: pathspec.c:598
+#: object-file.c:2229 object-file.c:2239
 #, c-format
-msgid "pathspec '%s' is beyond a symbolic link"
-msgstr "đặc tả đường dẫn “%s” vượt ra ngoài liên kết mềm"
+msgid "%s: failed to insert into database"
+msgstr "%s: gặp lỗi khi thêm vào cơ sở dữ liệu"
 
-#: pathspec.c:643
+#: object-file.c:2245
 #, c-format
-msgid "line is badly quoted: %s"
-msgstr "dòng được trích dẫn sai: %s"
+msgid "%s: unsupported file type"
+msgstr "%s: kiểu tập tin không được hỗ trợ"
 
-#: pkt-line.c:92
-msgid "unable to write flush packet"
-msgstr "không thể đẩy dữ liệu của gói lên đĩa"
+#: object-file.c:2269
+#, c-format
+msgid "%s is not a valid object"
+msgstr "%s không phải là một đối tượng hợp lệ"
 
-#: pkt-line.c:99
-msgid "unable to write delim packet"
-msgstr "không thể ghi gói delim"
+#: object-file.c:2271
+#, 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ệ"
 
-#: pkt-line.c:106
-msgid "unable to write stateless separator packet"
-msgstr "không thể ghi gói phân tách không trạng thái"
+#: object-file.c:2298 builtin/index-pack.c:192
+#, c-format
+msgid "unable to open %s"
+msgstr "không thể mở %s"
 
-#: pkt-line.c:113
-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ớ"
+#: object-file.c:2488 object-file.c:2541
+#, c-format
+msgid "hash mismatch for %s (expected %s)"
+msgstr "mã băm không khớp cho %s (cần %s)"
 
-#: pkt-line.c:153 pkt-line.c:239
-msgid "protocol error: impossibly long line"
-msgstr "lỗi giao thức: không thể làm được dòng dài"
+#: object-file.c:2512
+#, c-format
+msgid "unable to mmap %s"
+msgstr "không thể mmap %s"
 
-#: pkt-line.c:169 pkt-line.c:171
-msgid "packet write with format failed"
-msgstr "gặp lỗi khi ghi gói có định dạng"
+#: object-file.c:2517
+#, c-format
+msgid "unable to unpack header of %s"
+msgstr "không thể giải gói phần đầu của “%s”"
 
-#: pkt-line.c:203
-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"
+#: object-file.c:2523
+#, c-format
+msgid "unable to parse header of %s"
+msgstr "không thể phân tích phần đầu của “%s”"
 
-#: pkt-line.c:210 pkt-line.c:217
-msgid "packet write failed"
-msgstr "gặp lỗi khi ghi gói"
+#: object-file.c:2534
+#, c-format
+msgid "unable to unpack contents of %s"
+msgstr "không thể giải gói nội dung của “%s”"
 
-#: pkt-line.c:302
-msgid "read error"
-msgstr "lỗi đọc"
+#: object-name.c:486
+#, c-format
+msgid "short object ID %s is ambiguous"
+msgstr "mã đối tượng dạng rút gọn %s chưa rõ ràng"
 
-#: pkt-line.c:310
-msgid "the remote end hung up unexpectedly"
-msgstr "máy chủ bị treo bất ngờ"
+#: object-name.c:497
+msgid "The candidates are:"
+msgstr "Các ứng cử là:"
 
-#: pkt-line.c:338
-#, 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"
+#: object-name.c:796
+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"
+"may be created by mistake. For example,\n"
+"\n"
+"  git switch -c $br $(git rev-parse ...)\n"
+"\n"
+"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
+"examine these refs and maybe delete them. Turn this message off by\n"
+"running \"git config advice.objectNameWarning false\""
+msgstr ""
+"Git thường không bao giờ tạo tham chiếu mà nó kết thúc với 40 ký tự hex\n"
+"bởi vì nó sẽ bị bỏ qua khi bạn chỉ định 40-hex. Những tham chiếu này\n"
+"có lẽ được tạo ra bởi một sai sót nào đó. Ví dụ,\n"
+"\n"
+"  git switch -c $br $(git rev-parse …)\n"
+"\n"
+"với \"$br\" không hiểu lý do vì sao trống rỗng và một tham chiếu 40-hex được "
+"tạo ra.\n"
+"Xin hãy kiểm tra những tham chiếu này và có thể xóa chúng đi. Tắt lời nhắn "
+"này\n"
+"bằng cách chạy lệnh \"git config advice.objectNameWarning false\""
 
-#: pkt-line.c:352 pkt-line.c:357
+#: object-name.c:916
 #, c-format
-msgid "protocol error: bad line length %d"
-msgstr "lỗi giao thức: chiều dài dòng bị sai %d"
+msgid "log for '%.*s' only goes back to %s"
+msgstr "nhật ký cho “%.*s” chỉ trở lại đến %s"
 
-#: pkt-line.c:373 sideband.c:165
+#: object-name.c:924
 #, c-format
-msgid "remote error: %s"
-msgstr "lỗi máy chủ: %s"
-
-#: preload-index.c:119
-msgid "Refreshing index"
-msgstr "Làm mới bảng mục lục"
+msgid "log for '%.*s' only has %d entries"
+msgstr "nhật ký cho “%.*s” chỉ có %d mục"
 
-#: preload-index.c:138
+#: object-name.c:1702
 #, c-format
-msgid "unable to create threaded lstat: %s"
-msgstr "không thể tạo tuyến trình lstat: %s"
-
-#: pretty.c:983
-msgid "unable to parse --pretty format"
-msgstr "không thể phân tích định dạng --pretty"
+msgid "path '%s' exists on disk, but not in '%.*s'"
+msgstr "đường dẫn “%s” có ở trên đĩa, nhưng không trong “%.*s”"
 
-#: promisor-remote.c:30
-msgid "promisor-remote: unable to fork off fetch subprocess"
-msgstr "promisor-remote: không thể rẽ nhánh tuyến trình con fetch"
+#: object-name.c:1708
+#, c-format
+msgid ""
+"path '%s' exists, but not '%s'\n"
+"hint: Did you mean '%.*s:%s' aka '%.*s:./%s'?"
+msgstr ""
+"đường dẫn “%s” tồn tại, nhưng không phải “%s”\n"
+"gợi ý: Có phải ý bạn là “%.*s:%s” aka “%.*s:./%s”?"
 
-#: promisor-remote.c:35 promisor-remote.c:37
-msgid "promisor-remote: could not write to fetch subprocess"
-msgstr "promisor-remote: không thể ghi tiến trình con fetch"
+#: object-name.c:1717
+#, c-format
+msgid "path '%s' does not exist in '%.*s'"
+msgstr "đường dẫn “%s” không tồn tại trong “%.*s”"
 
-#: promisor-remote.c:41
-msgid "promisor-remote: could not close stdin to fetch subprocess"
+#: object-name.c:1745
+#, c-format
+msgid ""
+"path '%s' is in the index, but not at stage %d\n"
+"hint: Did you mean ':%d:%s'?"
 msgstr ""
-"promisor-remote: không thể đóng đầu vào tiêu chuẩn tiến trình con fetch"
+"đường dẫn “%s” nằm trong chỉ mục, nhưng không phải ở giai đoạn %d\n"
+"gợi ý: Có phải ý bạn là “:%d:%s”?"
 
-#: promisor-remote.c:53
+#: object-name.c:1761
 #, c-format
-msgid "promisor remote name cannot begin with '/': %s"
-msgstr "tên máy chủ hứa hẹn không thể bắt đầu bằng “/”: %s"
+msgid ""
+"path '%s' is in the index, but not '%s'\n"
+"hint: Did you mean ':%d:%s' aka ':%d:./%s'?"
+msgstr ""
+"đường dẫn “%s” nằm trong chỉ mục, nhưng không phải “%s”\n"
+"gợi ý: Có phải ý bạn là “:% d:%s “ aka “:%d:./%s”?"
 
-#: prune-packed.c:35
-msgid "Removing duplicate objects"
-msgstr "Đang gỡ các đối tượng trùng lặp"
+#: object-name.c:1769
+#, c-format
+msgid "path '%s' exists on disk, but not in the index"
+msgstr "đường dẫn “%s” tồn tại trên đĩa, nhưng không có trong chỉ mục"
 
-#: range-diff.c:77
-msgid "could not start `log`"
-msgstr "không thể lấy thông tin thống kê về “log“"
+#: object-name.c:1771
+#, c-format
+msgid "path '%s' does not exist (neither on disk nor in the index)"
+msgstr "đường dẫn “%s” không tồn tại (không trên đĩa cũng không trong mục lục)"
 
-#: range-diff.c:79
-msgid "could not read `log` output"
-msgstr "không thể đọc kết xuất “log”"
+#: object-name.c:1784
+msgid "relative path syntax can't be used outside working tree"
+msgstr "cú pháp đường dẫn tương đối không thể thể dùng ngoài cây làm việc"
 
-#: range-diff.c:98 sequencer.c:5310
+#: object-name.c:1922
 #, c-format
-msgid "could not parse commit '%s'"
-msgstr "không thể phân tích lần chuyển giao “%s”"
+msgid "invalid object name '%.*s'."
+msgstr "“%.*s” không phải là tên đối tượng hợp lệ."
 
-#: range-diff.c:112
+#: object.c:53
 #, c-format
-msgid ""
-"could not parse first line of `log` output: did not start with 'commit ': "
-"'%s'"
-msgstr ""
-"không thể phân tích cú pháp dòng đầu tiên của đầu ra “log”: không bắt đầu "
-"bằng “commit ”: “%s”"
+msgid "invalid object type \"%s\""
+msgstr "kiểu đối tượng \"%s\" không hợp lệ"
 
-#: range-diff.c:137
+#: object.c:173
 #, c-format
-msgid "could not parse git header '%.*s'"
-msgstr "không thể phân tích cú pháp phần đầu git “%.*s”"
+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"
 
-#: range-diff.c:299
-msgid "failed to generate diff"
-msgstr "gặp lỗi khi tạo khác biệt"
+#: 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"
 
-#: range-diff.c:532 range-diff.c:534
+#: object.c:246
 #, c-format
-msgid "could not parse log for '%s'"
-msgstr "không thể phân tích nhật ký cho “%s”"
+msgid "unable to parse object: %s"
+msgstr "không thể phân tích đối tượng: “%s”"
 
-#: read-cache.c:682
+#: object.c:266 object.c:278
 #, c-format
-msgid "will not add file alias '%s' ('%s' already exists in index)"
-msgstr ""
-"sẽ không thêm các bí danh “%s” (“%s” đã có từ trước trong bảng mục lục)"
+msgid "hash mismatch %s"
+msgstr "mã băm không khớp %s"
 
-#: read-cache.c:698
-msgid "cannot create an empty blob in the object database"
-msgstr "không thể tạo một blob rỗng trong cơ sở dữ liệu đối tượng"
+#: pack-bitmap.c:843 pack-bitmap.c:849 builtin/pack-objects.c:2226
+#, c-format
+msgid "unable to get size of %s"
+msgstr "không thể lấy kích cỡ của %s"
 
-#: read-cache.c:720
+#: pack-bitmap.c:1489 builtin/rev-list.c:92
 #, c-format
-msgid "%s: can only add regular files, symbolic links or git-directories"
-msgstr ""
-"%s: chỉ có thể thêm tập tin thông thường, liên kết mềm hoặc git-directories"
+msgid "unable to get disk usage of %s"
+msgstr "không thể dung lượng đĩa đã dùng của %s"
 
-#: read-cache.c:725
+#: pack-revindex.c:220
 #, c-format
-msgid "'%s' does not have a commit checked out"
-msgstr "“%s” không có một lần chuyển giao nào được lấy ra"
+msgid "reverse-index file %s is too small"
+msgstr "tập tin reverse-index %s quá nhỏ"
 
-#: read-cache.c:777
+#: pack-revindex.c:225
 #, c-format
-msgid "unable to index file '%s'"
-msgstr "không thể đánh mục lục tập tin “%s”"
+msgid "reverse-index file %s is corrupt"
+msgstr "tập tin reverse-index %s bị hỏng"
 
-#: read-cache.c:796
+#: pack-revindex.c:233
 #, c-format
-msgid "unable to add '%s' to index"
-msgstr "không thể thêm %s vào bảng mục lục"
+msgid "reverse-index file %s has unknown signature"
+msgstr "tập tin reverse-index %s có chữ ký chưa biết"
 
-#: read-cache.c:807
+#: pack-revindex.c:237
 #, c-format
-msgid "unable to stat '%s'"
-msgstr "không thể lấy thống kê “%s”"
+msgid "reverse-index file %s has unsupported version %<PRIu32>"
+msgstr "tệp chỉ mục ngược %s có phiên bản không được hỗ trợ %<PRIu32>"
 
-#: read-cache.c:1318
+#: pack-revindex.c:242
 #, c-format
-msgid "'%s' appears as both a file and as a directory"
-msgstr "%s có vẻ không phải là tập tin và cũng chẳng phải là một thư mục"
+msgid "reverse-index file %s has unsupported hash id %<PRIu32>"
+msgstr "tệp chỉ mục ngược %s có id mã băm không được hỗ trợ %<PRIu32>"
 
-#: read-cache.c:1524
-msgid "Refresh index"
-msgstr "Làm tươi mới bảng mục lục"
+#: pack-write.c:236
+msgid "cannot both write and verify reverse index"
+msgstr "không thể cùng lúc đọc và xác minh được bảng mục lục đảo ngược"
 
-#: read-cache.c:1639
+#: pack-write.c:257
 #, c-format
-msgid ""
-"index.version set, but the value is invalid.\n"
-"Using version %i"
-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"
+msgid "could not stat: %s"
+msgstr "không thể lấy thông tin thống kê: %s"
 
-#: read-cache.c:1649
+#: pack-write.c:269
 #, c-format
-msgid ""
-"GIT_INDEX_VERSION set, but the value is invalid.\n"
-"Using version %i"
-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"
+msgid "failed to make %s readable"
+msgstr "gặp lỗi làm cho %s đọc được"
 
-#: read-cache.c:1705
+#: pack-write.c:508
 #, c-format
-msgid "bad signature 0x%08x"
-msgstr "chữ ký sai 0x%08x"
-
-#: read-cache.c:1708
-#, c-format
-msgid "bad index version %d"
-msgstr "phiên bản mục lục sai %d"
+msgid "could not write '%s' promisor file"
+msgstr "không thể ghi tập tin promisor “%s”"
 
-#: read-cache.c:1717
-msgid "bad index file sha1 signature"
-msgstr "chữ ký dạng sha1 cho tập tin mục lục không đúng"
+#: packfile.c:625
+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 à?)"
 
-#: read-cache.c:1747
+#: packfile.c:1934
 #, c-format
-msgid "index uses %.4s extension, which we do not understand"
-msgstr "mục lục dùng phần mở rộng %.4s, cái mà chúng tôi không hiểu được"
+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 à?)"
 
-#: read-cache.c:1749
+#: packfile.c:1938
 #, c-format
-msgid "ignoring %.4s extension"
-msgstr "đang lờ đi phần mở rộng %.4s"
+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 à?)"
 
-#: read-cache.c:1786
+#: parse-options-cb.c:20 parse-options-cb.c:24
 #, c-format
-msgid "unknown index entry format 0x%08x"
-msgstr "không hiểu định dạng mục lục 0x%08x"
+msgid "option `%s' expects a numerical value"
+msgstr "tùy chọn “%s” cần một giá trị bằng số"
 
-#: read-cache.c:1802
+#: parse-options-cb.c:41
 #, c-format
-msgid "malformed name field in the index, near path '%s'"
-msgstr "trường tên sai sạng trong mục lục, gần đường dẫn “%s”"
-
-#: read-cache.c:1859
-msgid "unordered stage entries in index"
-msgstr "các mục tin stage không đúng thứ tự trong mục lục"
+msgid "malformed expiration date '%s'"
+msgstr "ngày tháng hết hạn dị hình “%s”"
 
-#: read-cache.c:1862
+#: parse-options-cb.c:54
 #, c-format
-msgid "multiple stage entries for merged file '%s'"
-msgstr "nhiều mục stage cho tập tin hòa trộn “%s”"
+msgid "option `%s' expects \"always\", \"auto\", or \"never\""
+msgstr "tùy chọn “%s” cần \"always\", \"auto\", hoặc \"never\""
 
-#: read-cache.c:1865
+#: parse-options-cb.c:132 parse-options-cb.c:149
 #, c-format
-msgid "unordered stage entries for '%s'"
-msgstr "các mục tin stage không đúng thứ tự cho “%s”"
-
-#: read-cache.c:1971 read-cache.c:2262 rerere.c:565 rerere.c:599 rerere.c:1111
-#: submodule.c:1628 builtin/add.c:538 builtin/check-ignore.c:181
-#: builtin/checkout.c:502 builtin/checkout.c:688 builtin/clean.c:991
-#: builtin/commit.c:364 builtin/diff-tree.c:122 builtin/grep.c:507
-#: builtin/mv.c:146 builtin/reset.c:247 builtin/rm.c:290
-#: builtin/submodule--helper.c:332
-msgid "index file corrupt"
-msgstr "tập tin ghi bảng mục lục bị hỏng"
+msgid "malformed object name '%s'"
+msgstr "tên đối tượng dị hình “%s”"
 
-#: read-cache.c:2115
+#: parse-options.c:38
 #, c-format
-msgid "unable to create load_cache_entries thread: %s"
-msgstr "không thể tạo tuyến load_cache_entries: %s"
+msgid "%s requires a value"
+msgstr "“%s” yêu cầu một giá trị"
 
-#: read-cache.c:2128
+#: parse-options.c:73
 #, c-format
-msgid "unable to join load_cache_entries thread: %s"
-msgstr "không thể gia nhập tuyến load_cache_entries: %s"
+msgid "%s is incompatible with %s"
+msgstr "%s là xung khắc với %s"
 
-#: read-cache.c:2161
+#: parse-options.c:78
 #, c-format
-msgid "%s: index file open failed"
-msgstr "%s: mở tập tin mục lục gặp lỗi"
+msgid "%s : incompatible with something else"
+msgstr "%s : xung khắc với các cái khác"
 
-#: read-cache.c:2165
+#: parse-options.c:92 parse-options.c:96 parse-options.c:317
 #, c-format
-msgid "%s: cannot stat the open index"
-msgstr "%s: không thể lấy thống kê bảng mục lục đã mở"
+msgid "%s takes no value"
+msgstr "%s k nhận giá trị"
 
-#: read-cache.c:2169
+#: parse-options.c:94
 #, c-format
-msgid "%s: index file smaller than expected"
-msgstr "%s: tập tin mục lục nhỏ hơn mong đợi"
+msgid "%s isn't available"
+msgstr "%s không sẵn có"
 
-#: read-cache.c:2173
+#: parse-options.c:217
 #, c-format
-msgid "%s: unable to map index file"
-msgstr "%s: không thể ánh xạ tập tin mục lục"
+msgid "%s expects a non-negative integer value with an optional k/m/g suffix"
+msgstr "%s cần một giá trị dạng số không âm với một hậu tố tùy chọn k/m/g"
 
-#: read-cache.c:2215
+#: parse-options.c:386
 #, c-format
-msgid "unable to create load_index_extensions thread: %s"
-msgstr "không thể tạo tuyến load_index_extensions: %s"
+msgid "ambiguous option: %s (could be --%s%s or --%s%s)"
+msgstr "tùy chọn chưa rõ rang: %s (nên là --%s%s hay --%s%s)"
 
-#: read-cache.c:2242
+#: parse-options.c:420 parse-options.c:428
 #, c-format
-msgid "unable to join load_index_extensions thread: %s"
-msgstr "không thể gia nhập tuyến load_index_extensions: %s"
+msgid "did you mean `--%s` (with two dashes)?"
+msgstr "có phải ý bạn là “--%s“ (với hai dấu gạch ngang)?"
 
-#: read-cache.c:2274
+#: parse-options.c:666 parse-options.c:971
 #, c-format
-msgid "could not freshen shared index '%s'"
-msgstr "không thể làm tươi mới mục lục đã chia sẻ “%s”"
+msgid "alias of --%s"
+msgstr "bí danh của --%s"
 
-#: read-cache.c:2321
+#: parse-options.c:862
 #, c-format
-msgid "broken index, expect %s in %s, got %s"
-msgstr "mục lục bị hỏng, cần %s trong %s, nhưng lại nhận được %s"
+msgid "unknown option `%s'"
+msgstr "không hiểu tùy chọn “%s”"
 
-#: read-cache.c:3017 strbuf.c:1171 wrapper.c:633 builtin/merge.c:1140
+#: parse-options.c:864
 #, c-format
-msgid "could not close '%s'"
-msgstr "không thể đóng “%s”"
+msgid "unknown switch `%c'"
+msgstr "không hiểu tùy chọn “%c”"
 
-#: read-cache.c:3120 sequencer.c:2479 sequencer.c:4231
+#: parse-options.c:866
 #, c-format
-msgid "could not stat '%s'"
-msgstr "không thể lấy thông tin thống kê về “%s”"
+msgid "unknown non-ascii option in string: `%s'"
+msgstr "không hiểu tùy chọn non-ascii trong chuỗi: “%s”"
 
-#: read-cache.c:3133
-#, c-format
-msgid "unable to open git dir: %s"
-msgstr "không thể mở thư mục git: %s"
+#: parse-options.c:890
+msgid "..."
+msgstr "…"
 
-#: read-cache.c:3145
+#: parse-options.c:909
 #, c-format
-msgid "unable to unlink: %s"
-msgstr "không thể bỏ liên kết (unlink): “%s”"
+msgid "usage: %s"
+msgstr "cách dùng: %s"
 
-#: read-cache.c:3170
+#. TRANSLATORS: the colon here should align with the
+#. one in "usage: %s" translation.
+#.
+#: parse-options.c:915
 #, c-format
-msgid "cannot fix permission bits on '%s'"
-msgstr "không thể sửa các bít phân quyền trên “%s”"
+msgid "   or: %s"
+msgstr "     hoặc: %s"
 
-#: read-cache.c:3319
+#: parse-options.c:918
 #, c-format
-msgid "%s: cannot drop to stage #0"
-msgstr "%s: không thể xóa bỏ stage #0"
+msgid "    %s"
+msgstr "    %s"
 
-#: rebase-interactive.c:11
-msgid ""
-"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
-"continue'.\n"
-"Or you can abort the rebase with 'git rebase --abort'.\n"
-msgstr ""
-"Bạn có thể sửa nó bằng “git rebase --edit-todo” và sau đó chạy “git rebase --"
-"continue”.\n"
-"Hoặc là bạn có thể bãi bỏ việc cải tổ bằng “git rebase --abort”.\n"
+#: parse-options.c:957
+msgid "-NUM"
+msgstr "-SỐ"
 
-#: rebase-interactive.c:33
+#: path.c:915
 #, 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."
+msgid "Could not make %s writable by group"
+msgstr "Không thể làm %s được ghi bởi nhóm"
 
-#: rebase-interactive.c:42
-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 <command> = run command (the rest of the line) using shell\n"
-"b, break = stop here (continue rebase later with 'git rebase --continue')\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"
+#: pathspec.c:130
+msgid "Escape character '\\' not allowed as last character in attr value"
 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 nhật ký "
-"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"
-"b, break = dừng tại đây (tiếp tục cải tổ sau này bằng “git rebase --"
-"continue”)\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"
+"Ký tự thoát chuỗi “\\” không được phép là ký tự cuối trong giá trị thuộc tính"
 
-#: rebase-interactive.c:63
-#, c-format
-msgid "Rebase %s onto %s (%d command)"
-msgid_plural "Rebase %s onto %s (%d commands)"
-msgstr[0] "Cải tổ %s vào %s (%d lệnh )"
+#: pathspec.c:148
+msgid "Only one 'attr:' specification is allowed."
+msgstr "Chỉ có một đặc tả “attr:” là được phép."
 
-#: rebase-interactive.c:72 git-rebase--preserve-merges.sh:218
-msgid ""
-"\n"
-"Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
-msgstr ""
-"\n"
-"Đừ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"
+#: pathspec.c:151
+msgid "attr spec must not be empty"
+msgstr "đặc tả attr phải không được để trống"
 
-#: rebase-interactive.c:75 git-rebase--preserve-merges.sh:222
-msgid ""
-"\n"
-"If you remove a line here THAT COMMIT WILL BE LOST.\n"
-msgstr ""
-"\n"
-"Nếu bạn xóa bỏ một dòng ở đây thì LẦN CHUYỂN GIAO ĐÓ SẼ MẤT.\n"
+#: pathspec.c:194
+#, c-format
+msgid "invalid attribute name %s"
+msgstr "tên thuộc tính không hợp lệ %s"
 
-#: rebase-interactive.c:81 git-rebase--preserve-merges.sh:861
-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"
+#: pathspec.c:259
+msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 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"
+"các cài đặt đặc tả đường dẫn “glob” và “noglob” toàn cục là xung khắc nhau"
 
-#: rebase-interactive.c:86 git-rebase--preserve-merges.sh:938
+#: pathspec.c:266
 msgid ""
-"\n"
-"However, if you remove everything, the rebase will be aborted.\n"
-"\n"
+"global 'literal' pathspec setting is incompatible with all other global "
+"pathspec settings"
 msgstr ""
-"\n"
-"Tuy nhiên, nếu bạn xóa bỏ mọi thứ, việc cải tổ sẽ bị bãi bỏ.\n"
-"\n"
+"cài đặt đặc tả đường dẫn “literal” toàn cục là xung khắc với các cài đặt đặc "
+"tả đường dẫn toàn cục khác"
 
-#: rebase-interactive.c:110 rerere.c:485 rerere.c:692 sequencer.c:3607
-#: sequencer.c:3633 sequencer.c:5416 builtin/fsck.c:347 builtin/rebase.c:270
-#, c-format
-msgid "could not write '%s'"
-msgstr "không thể ghi “%s”"
+#: pathspec.c:306
+msgid "invalid parameter for pathspec magic 'prefix'"
+msgstr "tham số không hợp lệ cho “tiền tố” màu nhiệm đặc tả đường đẫn"
 
-#: rebase-interactive.c:116 builtin/rebase.c:202 builtin/rebase.c:228
-#: builtin/rebase.c:252
+#: pathspec.c:327
 #, c-format
-msgid "could not write '%s'."
-msgstr "không thể ghi “%s”."
+msgid "Invalid pathspec magic '%.*s' in '%s'"
+msgstr "Số màu nhiệm đặc tả đường dẫn không hợp lệ “%.*s” trong “%s”"
 
-#: rebase-interactive.c:193
+#: pathspec.c:332
 #, c-format
-msgid ""
-"Warning: some commits may have been dropped accidentally.\n"
-"Dropped commits (newer to older):\n"
-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"
+msgid "Missing ')' at the end of pathspec magic in '%s'"
+msgstr "Thiếu “)” tại cuối của số màu nhiệm đặc tả đường dẫn trong “%s”"
 
-#: rebase-interactive.c:200
+#: pathspec.c:370
 #, c-format
-msgid ""
-"To avoid this message, use \"drop\" to explicitly remove a commit.\n"
-"\n"
-"Use 'git config rebase.missingCommitsCheck' to change the level of "
-"warnings.\n"
-"The possible behaviours are: ignore, warn, error.\n"
-"\n"
-msgstr ""
-"Để tránh thông báo này, dùng \"drop\" một cách rõ ràng để xóa bỏ một lần "
-"chuyển giao.\n"
-"\n"
-"Dùng “git config rebase.missingCommitsCheck” để thay đổi mức độ của cảnh "
-"báo.\n"
-"Cánh ứng xử có thể là: ignore, warn, error.\n"
-"\n"
+msgid "Unimplemented pathspec magic '%c' in '%s'"
+msgstr "Chưa viết mã cho số màu nhiệm đặc tả đường dẫn “%c” trong “%s”"
 
-#: rebase-interactive.c:233 rebase-interactive.c:238 sequencer.c:2394
-#: builtin/rebase.c:188 builtin/rebase.c:213 builtin/rebase.c:239
-#: builtin/rebase.c:264
+#: pathspec.c:429
 #, c-format
-msgid "could not read '%s'."
-msgstr "không thể đọc “%s”."
-
-#: ref-filter.c:42 wt-status.c:1973
-msgid "gone"
-msgstr "đã ra đi"
+msgid "%s: 'literal' and 'glob' are incompatible"
+msgstr "%s: “literal” và “glob” xung khắc nhau"
 
-#: ref-filter.c:43
+#: pathspec.c:445
 #, c-format
-msgid "ahead %d"
-msgstr "phía trước %d"
+msgid "%s: '%s' is outside repository at '%s'"
+msgstr "%s: “%s” ngoài một kho chứa tại “%s”"
 
-#: ref-filter.c:44
+#: pathspec.c:521
 #, c-format
-msgid "behind %d"
-msgstr "đằng sau %d"
+msgid "'%s' (mnemonic: '%c')"
+msgstr "“%s” (mnemonic: “%c”)"
 
-#: ref-filter.c:45
+#: pathspec.c:531
 #, c-format
-msgid "ahead %d, behind %d"
-msgstr "trước %d, sau %d"
+msgid "%s: pathspec magic not supported by this command: %s"
+msgstr "%s: số mầu nhiệm đặc tả đường dẫn chưa được hỗ trợ bởi lệnh này: %s"
 
-#: ref-filter.c:169
+#: pathspec.c:598
 #, c-format
-msgid "expected format: %%(color:<color>)"
-msgstr "cần định dạng: %%(color:<color>)"
+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"
 
-#: ref-filter.c:171
+#: pathspec.c:643
 #, c-format
-msgid "unrecognized color: %%(color:%s)"
-msgstr "không nhận ra màu: %%(màu:%s)"
+msgid "line is badly quoted: %s"
+msgstr "dòng được trích dẫn sai: %s"
 
-#: ref-filter.c:193
-#, c-format
-msgid "Integer value expected refname:lstrip=%s"
-msgstr "Giá trị nguyên cần tên tham chiếu:lstrip=%s"
+#: pkt-line.c:92
+msgid "unable to write flush packet"
+msgstr "không thể đẩy dữ liệu của gói lên đĩa"
 
-#: ref-filter.c:197
-#, c-format
-msgid "Integer value expected refname:rstrip=%s"
-msgstr "Giá trị nguyên cần tên tham chiếu:rstrip=%s"
+#: pkt-line.c:99
+msgid "unable to write delim packet"
+msgstr "không thể ghi gói delim"
 
-#: ref-filter.c:199
-#, c-format
-msgid "unrecognized %%(%s) argument: %s"
-msgstr "đối số không được thừa nhận %%(%s): %s"
+#: pkt-line.c:106
+msgid "unable to write stateless separator packet"
+msgstr "không thể ghi gói phân tách không trạng thái"
 
-#: ref-filter.c:254
-#, c-format
-msgid "%%(objecttype) does not take arguments"
-msgstr "%%(objecttype) không nhận các đối số"
+#: pkt-line.c:113
+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ớ"
 
-#: ref-filter.c:276
-#, c-format
-msgid "unrecognized %%(objectsize) argument: %s"
-msgstr "tham số không được thừa nhận %%(objectname): %s"
+#: pkt-line.c:153 pkt-line.c:239
+msgid "protocol error: impossibly long line"
+msgstr "lỗi giao thức: không thể làm được dòng dài"
 
-#: ref-filter.c:284
-#, c-format
-msgid "%%(deltabase) does not take arguments"
-msgstr "%%(deltabase) không nhận các đối số"
+#: pkt-line.c:169 pkt-line.c:171
+msgid "packet write with format failed"
+msgstr "gặp lỗi khi ghi gói có định dạng"
 
-#: ref-filter.c:296
-#, c-format
-msgid "%%(body) does not take arguments"
-msgstr "%%(body) không nhận các đối số"
+#: pkt-line.c:203
+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"
 
-#: ref-filter.c:309
-#, c-format
-msgid "unrecognized %%(subject) argument: %s"
-msgstr "tham số không được thừa nhận %%(subject): %s"
+#: pkt-line.c:210 pkt-line.c:217
+msgid "packet write failed"
+msgstr "gặp lỗi khi ghi gói"
 
-#: ref-filter.c:330
-#, c-format
-msgid "unknown %%(trailers) argument: %s"
-msgstr "không hiểu tham số %%(trailers): %s"
+#: pkt-line.c:302
+msgid "read error"
+msgstr "lỗi đọc"
 
-#: ref-filter.c:363
-#, c-format
-msgid "positive value expected contents:lines=%s"
-msgstr "cần nội dung mang giá trị dương:lines=%s"
+#: pkt-line.c:310
+msgid "the remote end hung up unexpectedly"
+msgstr "máy chủ bị treo bất ngờ"
 
-#: ref-filter.c:365
+#: pkt-line.c:338
 #, c-format
-msgid "unrecognized %%(contents) argument: %s"
-msgstr "đối số không được thừa nhận %%(contents): %s"
+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"
 
-#: ref-filter.c:380
+#: pkt-line.c:352 pkt-line.c:357
 #, c-format
-msgid "positive value expected '%s' in %%(%s)"
-msgstr "cần giá trị dương “%s” trong %%(%s)"
+msgid "protocol error: bad line length %d"
+msgstr "lỗi giao thức: chiều dài dòng bị sai %d"
 
-#: ref-filter.c:384
+#: pkt-line.c:373 sideband.c:165
 #, c-format
-msgid "unrecognized argument '%s' in %%(%s)"
-msgstr "đối số “%s” không được thừa nhận trong %%(%s)"
+msgid "remote error: %s"
+msgstr "lỗi máy chủ: %s"
 
-#: ref-filter.c:398
-#, c-format
-msgid "unrecognized email option: %s"
-msgstr "không nhận ra tùy chọn thư điện tử: “%s”"
+#: preload-index.c:125
+msgid "Refreshing index"
+msgstr "Làm mới bảng mục lục"
 
-#: ref-filter.c:428
+#: preload-index.c:144
 #, c-format
-msgid "expected format: %%(align:<width>,<position>)"
-msgstr "cần định dạng: %%(align:<width>,<position>)"
+msgid "unable to create threaded lstat: %s"
+msgstr "không thể tạo tuyến trình lstat: %s"
 
-#: ref-filter.c:440
-#, c-format
-msgid "unrecognized position:%s"
-msgstr "vị trí không được thừa nhận:%s"
+#: pretty.c:984
+msgid "unable to parse --pretty format"
+msgstr "không thể phân tích định dạng --pretty"
 
-#: ref-filter.c:447
-#, c-format
-msgid "unrecognized width:%s"
-msgstr "chiều rộng không được thừa nhận:%s"
+#: promisor-remote.c:30
+msgid "promisor-remote: unable to fork off fetch subprocess"
+msgstr "promisor-remote: không thể rẽ nhánh tuyến trình con fetch"
 
-#: ref-filter.c:456
-#, c-format
-msgid "unrecognized %%(align) argument: %s"
-msgstr "đối số không được thừa nhận %%(align): %s"
+#: promisor-remote.c:35 promisor-remote.c:37
+msgid "promisor-remote: could not write to fetch subprocess"
+msgstr "promisor-remote: không thể ghi tiến trình con fetch"
 
-#: ref-filter.c:464
-#, 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)"
+#: promisor-remote.c:41
+msgid "promisor-remote: could not close stdin to fetch subprocess"
+msgstr ""
+"promisor-remote: không thể đóng đầu vào tiêu chuẩn tiến trình con fetch"
 
-#: ref-filter.c:482
+#: promisor-remote.c:53
 #, c-format
-msgid "unrecognized %%(if) argument: %s"
-msgstr "đối số không được thừa nhận %%(if): %s"
+msgid "promisor remote name cannot begin with '/': %s"
+msgstr "tên máy chủ hứa hẹn không thể bắt đầu bằng “/”: %s"
 
-#: ref-filter.c:584
-#, c-format
-msgid "malformed field name: %.*s"
-msgstr "tên trường dị hình: %.*s"
+#: prune-packed.c:35
+msgid "Removing duplicate objects"
+msgstr "Đang gỡ các đối tượng trùng lặp"
+
+#: range-diff.c:78
+msgid "could not start `log`"
+msgstr "không thể lấy thông tin thống kê về “log“"
+
+#: range-diff.c:80
+msgid "could not read `log` output"
+msgstr "không thể đọc kết xuất “log”"
 
-#: ref-filter.c:611
+#: range-diff.c:101 sequencer.c:5318
 #, c-format
-msgid "unknown field name: %.*s"
-msgstr "không hiểu tên trường: %.*s"
+msgid "could not parse commit '%s'"
+msgstr "không thể phân tích lần chuyển giao “%s”"
 
-#: ref-filter.c:615
+#: range-diff.c:115
 #, c-format
 msgid ""
-"not a git repository, but the field '%.*s' requires access to object data"
+"could not parse first line of `log` output: did not start with 'commit ': "
+"'%s'"
 msgstr ""
-"không phải là một kho git, nhưng trường “%.*s” yêu cầu truy cập vào dữ liệu "
-"đối tượng"
+"không thể phân tích cú pháp dòng đầu tiên của đầu ra “log”: không bắt đầu "
+"bằng “commit ”: “%s”"
 
-#: ref-filter.c:739
+#: range-diff.c:140
 #, 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)"
+msgid "could not parse git header '%.*s'"
+msgstr "không thể phân tích cú pháp phần đầu git “%.*s”"
 
-#: ref-filter.c:802
-#, 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)"
+#: range-diff.c:306
+msgid "failed to generate diff"
+msgstr "gặp lỗi khi tạo khác biệt"
 
-#: ref-filter.c:804
-#, 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"
+#: range-diff.c:558
+msgid "--left-only and --right-only are mutually exclusive"
+msgstr "--left-only và --right-only loại từ lẫn nhau"
 
-#: ref-filter.c:806
+#: range-diff.c:561 range-diff.c:563
 #, c-format
-msgid "format: %%(then) atom used after %%(else)"
-msgstr "định dạng: nguyên tử %%(then) được dùng sau %%(else)"
+msgid "could not parse log for '%s'"
+msgstr "không thể phân tích nhật ký cho “%s”"
 
-#: ref-filter.c:834
+#: read-cache.c:682
 #, 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)"
+msgid "will not add file alias '%s' ('%s' already exists in index)"
+msgstr ""
+"sẽ không thêm các bí danh “%s” (“%s” đã có từ trước trong bảng mục lục)"
 
-#: ref-filter.c:836
-#, 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)"
+#: read-cache.c:698
+msgid "cannot create an empty blob in the object database"
+msgstr "không thể tạo một blob rỗng trong cơ sở dữ liệu đối tượng"
 
-#: ref-filter.c:838
+#: read-cache.c:720
 #, 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"
+msgid "%s: can only add regular files, symbolic links or git-directories"
+msgstr ""
+"%s: chỉ có thể thêm tập tin thông thường, liên kết mềm hoặc git-directories"
 
-#: ref-filter.c:853
+#: read-cache.c:725
 #, 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"
+msgid "'%s' does not have a commit checked out"
+msgstr "“%s” không có một lần chuyển giao nào được lấy ra"
 
-#: ref-filter.c:910
+#: read-cache.c:777
 #, c-format
-msgid "malformed format string %s"
-msgstr "chuỗi định dạng dị hình %s"
-
-#: ref-filter.c:1549
-#, c-format
-msgid "no branch, rebasing %s"
-msgstr "không nhánh, đang cải tổ %s"
-
-#: ref-filter.c:1552
-#, 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:1555
-#, c-format
-msgid "no branch, bisect started on %s"
-msgstr "không nhánh, di chuyển nửa bước được bắt đầu tại %s"
-
-#: ref-filter.c:1565
-msgid "no branch"
-msgstr "không nhánh"
+msgid "unable to index file '%s'"
+msgstr "không thể đánh mục lục tập tin “%s”"
 
-#: ref-filter.c:1599 ref-filter.c:1808
+#: read-cache.c:796
 #, c-format
-msgid "missing object %s for %s"
-msgstr "thiếu đối tượng %s cho %s"
+msgid "unable to add '%s' to index"
+msgstr "không thể thêm %s vào bảng mục lục"
 
-#: ref-filter.c:1609
+#: read-cache.c:807
 #, c-format
-msgid "parse_object_buffer failed on %s for %s"
-msgstr "parse_object_buffer gặp lỗi trên %s cho %s"
+msgid "unable to stat '%s'"
+msgstr "không thể lấy thống kê “%s”"
 
-#: ref-filter.c:2062
+#: read-cache.c:1318
 #, c-format
-msgid "malformed object at '%s'"
-msgstr "đối tượng dị hình tại “%s”"
+msgid "'%s' appears as both a file and as a directory"
+msgstr "%s có vẻ không phải là tập tin và cũng chẳng phải là một thư mục"
 
-#: ref-filter.c:2151
-#, c-format
-msgid "ignoring ref with broken name %s"
-msgstr "đang lờ đi tham chiếu với tên hỏng %s"
+#: read-cache.c:1532
+msgid "Refresh index"
+msgstr "Làm tươi mới bảng mục lục"
 
-#: ref-filter.c:2156 refs.c:676
+#: read-cache.c:1657
 #, c-format
-msgid "ignoring broken ref %s"
-msgstr "đang lờ đi tham chiếu hỏng %s"
+msgid ""
+"index.version set, but the value is invalid.\n"
+"Using version %i"
+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"
 
-#: ref-filter.c:2472
+#: read-cache.c:1667
 #, c-format
-msgid "format: %%(end) atom missing"
-msgstr "định dạng: thiếu nguyên tử %%(end)"
+msgid ""
+"GIT_INDEX_VERSION set, but the value is invalid.\n"
+"Using version %i"
+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"
 
-#: ref-filter.c:2571
+#: read-cache.c:1723
 #, c-format
-msgid "malformed object name %s"
-msgstr "tên đối tượng dị hình %s"
+msgid "bad signature 0x%08x"
+msgstr "chữ ký sai 0x%08x"
 
-#: ref-filter.c:2576
+#: read-cache.c:1726
 #, c-format
-msgid "option `%s' must point to a commit"
-msgstr "tùy chọn “%s” phải chỉ đến một lần chuyển giao"
+msgid "bad index version %d"
+msgstr "phiên bản mục lục sai %d"
 
-#: refs.c:264
-#, 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ả!"
+#: read-cache.c:1735
+msgid "bad index file sha1 signature"
+msgstr "chữ ký dạng sha1 cho tập tin mục lục không đúng"
 
-#: refs.c:566
+#: read-cache.c:1765
 #, c-format
-msgid ""
-"Using '%s' as the name for the initial branch. This default branch name\n"
-"is subject to change. To configure the initial branch name to use in all\n"
-"of your new repositories, which will suppress this warning, call:\n"
-"\n"
-"\tgit config --global init.defaultBranch <name>\n"
-"\n"
-"Names commonly chosen instead of 'master' are 'main', 'trunk' and\n"
-"'development'. The just-created branch can be renamed via this command:\n"
-"\n"
-"\tgit branch -m <name>\n"
-msgstr ""
-"Sử dụng '%s' làm tên cho nhánh ban đầu. Tên nhánh mặc định này\n"
-"có thể thay đổi. Để cấu hình tên nhánh khởi đầu sử dụng trong tất cả\n"
-"kho lưu trữ mới của bạn, cái mà sẽ ngăn chặn cảnh báo này, gọi lệnh:\n"
-"\n"
-"\tgit config --global init.defaultBranch <tên>\n"
-"\n"
-"Tên thường được chọn thay cho 'master' là 'main', 'trunk' và\n"
-"'development'. Nhánh vừa tạo có thể được đổi tên thông qua lệnh:\n"
-"\n"
-"\tgit branch -m <tên>\n"
+msgid "index uses %.4s extension, which we do not understand"
+msgstr "mục lục dùng phần mở rộng %.4s, cái mà chúng tôi không hiểu được"
 
-#: refs.c:588
+#: read-cache.c:1767
 #, c-format
-msgid "could not retrieve `%s`"
-msgstr "không thể lấy về “%s”"
+msgid "ignoring %.4s extension"
+msgstr "đang lờ đi phần mở rộng %.4s"
 
-#: refs.c:598
+#: read-cache.c:1804
 #, c-format
-msgid "invalid branch name: %s = %s"
-msgstr "tên nhánh không hợp lệ: %s = %s"
+msgid "unknown index entry format 0x%08x"
+msgstr "không hiểu định dạng mục lục 0x%08x"
 
-#: refs.c:674
+#: read-cache.c:1820
 #, c-format
-msgid "ignoring dangling symref %s"
-msgstr "đang lờ đi tham chiếu mềm thừa %s"
+msgid "malformed name field in the index, near path '%s'"
+msgstr "trường tên sai sạng trong mục lục, gần đường dẫn “%s”"
 
-#: refs.c:911
-#, 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"
+#: read-cache.c:1877
+msgid "unordered stage entries in index"
+msgstr "các mục tin stage không đúng thứ tự trong mục lục"
 
-#: refs.c:917
+#: read-cache.c:1880
 #, 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"
+msgid "multiple stage entries for merged file '%s'"
+msgstr "nhiều mục stage cho tập tin hòa trộn “%s”"
 
-#: refs.c:976
+#: read-cache.c:1883
 #, c-format
-msgid "log for %s is empty"
-msgstr "nhật ký cho %s trống rỗng"
+msgid "unordered stage entries for '%s'"
+msgstr "các mục tin stage không đúng thứ tự cho “%s”"
 
-#: refs.c:1068
-#, 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”"
+#: read-cache.c:1989 read-cache.c:2280 rerere.c:549 rerere.c:583 rerere.c:1095
+#: submodule.c:1634 builtin/add.c:546 builtin/check-ignore.c:181
+#: builtin/checkout.c:504 builtin/checkout.c:690 builtin/clean.c:991
+#: builtin/commit.c:364 builtin/diff-tree.c:122 builtin/grep.c:505
+#: builtin/mv.c:146 builtin/reset.c:247 builtin/rm.c:290
+#: builtin/submodule--helper.c:332
+msgid "index file corrupt"
+msgstr "tập tin ghi bảng mục lục bị hỏng"
 
-#: refs.c:1139
+#: read-cache.c:2133
 #, c-format
-msgid "update_ref failed for ref '%s': %s"
-msgstr "update_ref bị lỗi cho ref “%s”: %s"
+msgid "unable to create load_cache_entries thread: %s"
+msgstr "không thể tạo tuyến load_cache_entries: %s"
 
-#: refs.c:1963
+#: read-cache.c:2146
 #, 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:2043
-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:2054
-msgid "ref updates aborted by hook"
-msgstr "các cập nhật tham chiếu bị bãi bỏ bởi móc"
+msgid "unable to join load_cache_entries thread: %s"
+msgstr "không thể gia nhập tuyến load_cache_entries: %s"
 
-#: refs.c:2154 refs.c:2184
+#: read-cache.c:2179
 #, c-format
-msgid "'%s' exists; cannot create '%s'"
-msgstr "“%s” sẵn có; không thể tạo “%s”"
+msgid "%s: index file open failed"
+msgstr "%s: mở tập tin mục lục gặp lỗi"
 
-#: refs.c:2160 refs.c:2195
+#: read-cache.c:2183
 #, 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"
+msgid "%s: cannot stat the open index"
+msgstr "%s: không thể lấy thống kê bảng mục lục đã mở"
 
-#: refs/files-backend.c:1228
+#: read-cache.c:2187
 #, c-format
-msgid "could not remove reference %s"
-msgstr "không thể gỡ bỏ tham chiếu: %s"
+msgid "%s: index file smaller than expected"
+msgstr "%s: tập tin mục lục nhỏ hơn mong đợi"
 
-#: refs/files-backend.c:1242 refs/packed-backend.c:1542
-#: refs/packed-backend.c:1552
+#: read-cache.c:2191
 #, c-format
-msgid "could not delete reference %s: %s"
-msgstr "không thể xóa bỏ tham chiếu %s: %s"
+msgid "%s: unable to map index file"
+msgstr "%s: không thể ánh xạ tập tin mục lục"
 
-#: refs/files-backend.c:1245 refs/packed-backend.c:1555
+#: read-cache.c:2233
 #, c-format
-msgid "could not delete references: %s"
-msgstr "không thể xóa bỏ tham chiếu: %s"
+msgid "unable to create load_index_extensions thread: %s"
+msgstr "không thể tạo tuyến load_index_extensions: %s"
 
-#: refspec.c:170
+#: read-cache.c:2260
 #, c-format
-msgid "invalid refspec '%s'"
-msgstr "refspec không hợp lệ “%s”"
+msgid "unable to join load_index_extensions thread: %s"
+msgstr "không thể gia nhập tuyến load_index_extensions: %s"
 
-#: remote.c:351
+#: read-cache.c:2292
 #, c-format
-msgid "config remote shorthand cannot begin with '/': %s"
-msgstr "cấu hình viết tắt máy chủ không thể bắt đầu bằng “/”: %s"
-
-#: remote.c:399
-msgid "more than one receivepack given, using the first"
-msgstr "đã đưa ra nhiều hơn một gói nhận về, đang sử dụng cái đầu tiên"
-
-#: remote.c:407
-msgid "more than one uploadpack given, using the first"
-msgstr "đã đưa ra nhiều hơn một gói tải lên, đang sử dụng cái đầu tiên"
+msgid "could not freshen shared index '%s'"
+msgstr "không thể làm tươi mới mục lục đã chia sẻ “%s”"
 
-#: remote.c:590
+#: read-cache.c:2339
 #, c-format
-msgid "Cannot fetch both %s and %s to %s"
-msgstr "Không thể lấy về cả %s và %s cho %s"
+msgid "broken index, expect %s in %s, got %s"
+msgstr "mục lục bị hỏng, cần %s trong %s, nhưng lại nhận được %s"
 
-#: remote.c:594
+#: read-cache.c:3035 strbuf.c:1171 wrapper.c:633 builtin/merge.c:1141
 #, c-format
-msgid "%s usually tracks %s, not %s"
-msgstr "%s thường theo dõi %s, không phải %s"
+msgid "could not close '%s'"
+msgstr "không thể đóng “%s”"
 
-#: remote.c:598
+#: read-cache.c:3138 sequencer.c:2487 sequencer.c:4239
 #, c-format
-msgid "%s tracks both %s and %s"
-msgstr "%s theo dõi cả %s và %s"
+msgid "could not stat '%s'"
+msgstr "không thể lấy thông tin thống kê về “%s”"
 
-#: remote.c:666
+#: read-cache.c:3151
 #, c-format
-msgid "key '%s' of pattern had no '*'"
-msgstr "khóa â\80\9c%sâ\80\9d cá»§a mẫu k có â\80\9c\80\9d"
+msgid "unable to open git dir: %s"
+msgstr "không thá»\83 má»\9f thư mục git: %s"
 
-#: remote.c:676
+#: read-cache.c:3163
 #, c-format
-msgid "value '%s' of pattern has no '*'"
-msgstr "giá trị “%s” của mẫu k có “*”"
+msgid "unable to unlink: %s"
+msgstr "không thể bỏ liên kết (unlink): “%s”"
 
-#: remote.c:1073
+#: read-cache.c:3188
 #, c-format
-msgid "src refspec %s does not match any"
-msgstr "refspec %s nguồn không khớp bất kỳ cái gì"
+msgid "cannot fix permission bits on '%s'"
+msgstr "không thể sửa các bít phân quyền trên “%s”"
 
-#: remote.c:1078
+#: read-cache.c:3337
 #, c-format
-msgid "src refspec %s matches more than one"
-msgstr "refspec %s nguồn khớp nhiều hơn một"
+msgid "%s: cannot drop to stage #0"
+msgstr "%s: không thể xóa bỏ stage #0"
 
-#. TRANSLATORS: "matches '%s'%" is the <dst> part of "git push
-#. <remote> <src>:<dst>" push, and "being pushed ('%s')" is
-#. the <src>.
-#.
-#: remote.c:1093
-#, c-format
+#: rebase-interactive.c:11
 msgid ""
-"The destination you provided is not a full refname (i.e.,\n"
-"starting with \"refs/\"). We tried to guess what you meant by:\n"
-"\n"
-"- Looking for a ref that matches '%s' on the remote side.\n"
-"- Checking if the <src> being pushed ('%s')\n"
-"  is a ref in \"refs/{heads,tags}/\". If so we add a corresponding\n"
-"  refs/{heads,tags}/ prefix on the remote side.\n"
-"\n"
-"Neither worked, so we gave up. You must fully qualify the ref."
+"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
+"continue'.\n"
+"Or you can abort the rebase with 'git rebase --abort'.\n"
 msgstr ""
-"Đích bạn đã cung cấp không phải tên tham chiếu đầy đủ (tức là\n"
-"bắt đầu bằng \"refs/\"). Chúng tôi đã cố suy luận rằng ý của bạn là:\n"
-"\n"
-"- Tìm kiếm một tham chiếu mà nó khớp “%s” bên phía máy chủ.\n"
-"- Kiểm tra xem <src> được đẩy lên (“%s”)\n"
-"  là một tham chiếu trong \"refs/{heads,tags}/\". Nếu thế chúng tôi thêm một "
-"tiền tố\n"
-"  refs/{heads,tags}/ tương ứng bên phía máy chủ.\n"
-"\n"
-"Nếu cả hai là không thể, thì chúng tôi cũng chịu thua. Bạn phải dùng tham "
-"chiếu dạng đầy đủ."
+"Bạn có thể sửa nó bằng “git rebase --edit-todo” và sau đó chạy “git rebase --"
+"continue”.\n"
+"Hoặc là bạn có thể bãi bỏ việc cải tổ bằng “git rebase --abort”.\n"
 
-#: remote.c:1113
+#: rebase-interactive.c:33
 #, c-format
 msgid ""
-"The <src> part of the refspec is a commit object.\n"
-"Did you mean to create a new branch by pushing to\n"
-"'%s:refs/heads/%s'?"
+"unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
 msgstr ""
-"Phần <src> của đặc tả đường dẫn là một đối tượng lần chuyển giao.\n"
-"Có phải ý bạn là một tạo một nhánh mới bằng cách đẩy lên\n"
-"“%s:refs/heads/%s”?"
+"không nhận ra cài đặt %s cho tùy chọn rebase.missingCommitsCheck. Nên bỏ qua."
 
-#: remote.c:1118
-#, c-format
+#: rebase-interactive.c:42
 msgid ""
-"The <src> part of the refspec is a tag object.\n"
-"Did you mean to create a new tag by pushing to\n"
-"'%s:refs/tags/%s'?"
+"\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 <command> = run command (the rest of the line) using shell\n"
+"b, break = stop here (continue rebase later with 'git rebase --continue')\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 ""
-"Phần <src> của đặc tả đường dẫn là một đối tượng thẻ.\n"
-"Có phải ý bạn là một tạo một thẻ mới bằng cách đẩy lên\n"
-"“%s:refs/tags/%s”?"
+"\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 nhật ký "
+"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"
+"b, break = dừng tại đây (tiếp tục cải tổ sau này bằng “git rebase --"
+"continue”)\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"
 
-#: remote.c:1123
+#: rebase-interactive.c:63
 #, c-format
+msgid "Rebase %s onto %s (%d command)"
+msgid_plural "Rebase %s onto %s (%d commands)"
+msgstr[0] "Cải tổ %s vào %s (%d lệnh )"
+
+#: rebase-interactive.c:72 git-rebase--preserve-merges.sh:218
 msgid ""
-"The <src> part of the refspec is a tree object.\n"
-"Did you mean to tag a new tree by pushing to\n"
-"'%s:refs/tags/%s'?"
+"\n"
+"Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
 msgstr ""
-"Phần <src> của đặc tả đường dẫn là một đối tượng cây.\n"
-"Có phải ý bạn là một tạo một cây mới bằng cách đẩy lên\n"
-"“%s:refs/tags/%s”?"
+"\n"
+"Đừ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"
 
-#: remote.c:1128
-#, c-format
+#: rebase-interactive.c:75 git-rebase--preserve-merges.sh:222
 msgid ""
-"The <src> part of the refspec is a blob object.\n"
-"Did you mean to tag a new blob by pushing to\n"
-"'%s:refs/tags/%s'?"
+"\n"
+"If you remove a line here THAT COMMIT WILL BE LOST.\n"
 msgstr ""
-"Phần <src> của đặc tả đường dẫn là một đối tượng blob.\n"
-"Có phải ý bạn là một tạo một blob mới bằng cách đẩy lên\n"
-"“%s:refs/tags/%s”?"
-
-#: remote.c:1164
-#, c-format
-msgid "%s cannot be resolved to branch"
-msgstr "“%s” không thể được phân giải thành nhánh"
+"\n"
+"Nếu bạn xóa bỏ một dòng ở đây thì LẦN CHUYỂN GIAO ĐÓ SẼ MẤT.\n"
 
-#: remote.c:1175
-#, c-format
-msgid "unable to delete '%s': remote ref does not exist"
-msgstr "không thể xóa “%s”: tham chiếu trên máy chủ không tồn tại"
+#: rebase-interactive.c:81 git-rebase--preserve-merges.sh:861
+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"
 
-#: remote.c:1187
-#, c-format
-msgid "dst refspec %s matches more than one"
-msgstr "dst refspec %s khớp nhiều hơn một"
+#: rebase-interactive.c:86 git-rebase--preserve-merges.sh:938
+msgid ""
+"\n"
+"However, if you remove everything, the rebase will be aborted.\n"
+"\n"
+msgstr ""
+"\n"
+"Tuy nhiên, nếu bạn xóa bỏ mọi thứ, việc cải tổ sẽ bị bãi bỏ.\n"
+"\n"
 
-#: remote.c:1194
+#: rebase-interactive.c:110 rerere.c:469 rerere.c:676 sequencer.c:3615
+#: sequencer.c:3641 sequencer.c:5424 builtin/fsck.c:329 builtin/rebase.c:272
 #, c-format
-msgid "dst ref %s receives from more than one src"
-msgstr "dst ref %s nhận từ hơn một nguồn"
-
-#: remote.c:1714 remote.c:1815
-msgid "HEAD does not point to a branch"
-msgstr "HEAD không chỉ đến một nhánh nào cả"
+msgid "could not write '%s'"
+msgstr "không thể ghi “%s”"
 
-#: remote.c:1723
+#: rebase-interactive.c:116 builtin/rebase.c:204 builtin/rebase.c:230
+#: builtin/rebase.c:254
 #, c-format
-msgid "no such branch: '%s'"
-msgstr "không có nhánh nào như thế: “%s”"
+msgid "could not write '%s'."
+msgstr "không thể ghi “%s”."
 
-#: remote.c:1726
+#: rebase-interactive.c:193
 #, 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”"
+msgid ""
+"Warning: some commits may have been dropped accidentally.\n"
+"Dropped commits (newer to older):\n"
+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"
 
-#: remote.c:1732
+#: rebase-interactive.c:200
 #, c-format
-msgid "upstream branch '%s' not stored as a remote-tracking branch"
+msgid ""
+"To avoid this message, use \"drop\" to explicitly remove a commit.\n"
+"\n"
+"Use 'git config rebase.missingCommitsCheck' to change the level of "
+"warnings.\n"
+"The possible behaviours are: ignore, warn, error.\n"
+"\n"
 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ủ"
+"Để tránh thông báo này, dùng \"drop\" một cách rõ ràng để xóa bỏ một lần "
+"chuyển giao.\n"
+"\n"
+"Dùng “git config rebase.missingCommitsCheck” để thay đổi mức độ của cảnh "
+"báo.\n"
+"Cánh ứng xử có thể là: ignore, warn, error.\n"
+"\n"
 
-#: remote.c:1747
+#: rebase-interactive.c:233 rebase-interactive.c:238 sequencer.c:2402
+#: builtin/rebase.c:190 builtin/rebase.c:215 builtin/rebase.c:241
+#: builtin/rebase.c:266
 #, 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ộ"
+msgid "could not read '%s'."
+msgstr "không thể đọc “%s”."
+
+#: ref-filter.c:42 wt-status.c:1975
+msgid "gone"
+msgstr "đã ra đi"
 
-#: remote.c:1759
+#: ref-filter.c:43
 #, c-format
-msgid "branch '%s' has no remote for pushing"
-msgstr "nhánh “%s” không có máy chủ để đẩy lên"
+msgid "ahead %d"
+msgstr "phía trước %d"
 
-#: remote.c:1769
+#: ref-filter.c:44
 #, c-format
-msgid "push refspecs for '%s' do not include '%s'"
-msgstr "Ä\91ẩy refspecs cho â\80\9c%sâ\80\9d không bao gá»\93m â\80\9c%sâ\80\9d"
+msgid "behind %d"
+msgstr "Ä\91ằng sau %d"
 
-#: remote.c:1782
-msgid "push has no destination (push.default is 'nothing')"
-msgstr "đẩy lên mà không có đích (push.default là “nothing”)"
+#: ref-filter.c:45
+#, c-format
+msgid "ahead %d, behind %d"
+msgstr "trước %d, sau %d"
 
-#: remote.c:1804
-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"
+#: ref-filter.c:175
+#, c-format
+msgid "expected format: %%(color:<color>)"
+msgstr "cần định dạng: %%(color:<color>)"
 
-#: remote.c:1933
+#: ref-filter.c:177
 #, c-format
-msgid "couldn't find remote ref %s"
-msgstr "không thể tìm thấy tham chiếu máy chủ %s"
+msgid "unrecognized color: %%(color:%s)"
+msgstr "không nhận ra màu: %%(màu:%s)"
 
-#: remote.c:1946
+#: ref-filter.c:199
 #, c-format
-msgid "* Ignoring funny ref '%s' locally"
-msgstr "* Đang bỏ qua tham chiếu thú vị nội bộ “%s”"
+msgid "Integer value expected refname:lstrip=%s"
+msgstr "Giá trị nguyên cần tên tham chiếu:lstrip=%s"
 
-#: remote.c:2109
+#: ref-filter.c:203
 #, 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"
+msgid "Integer value expected refname:rstrip=%s"
+msgstr "Giá trị nguyên cần tên tham chiếu:rstrip=%s"
 
-#: remote.c:2113
-msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
-msgstr "   (dùng \" git branch --unset-upstream\" để sửa)\n"
+#: ref-filter.c:205
+#, c-format
+msgid "unrecognized %%(%s) argument: %s"
+msgstr "đối số không được thừa nhận %%(%s): %s"
 
-#: remote.c:2116
+#: ref-filter.c:260
 #, 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"
+msgid "%%(objecttype) does not take arguments"
+msgstr "%%(objecttype) không nhận các đối số"
 
-#: remote.c:2120
+#: ref-filter.c:282
 #, 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"
+msgid "unrecognized %%(objectsize) argument: %s"
+msgstr "tham số không được thừa nhận %%(objectname): %s"
 
-#: remote.c:2123
+#: ref-filter.c:290
 #, c-format
-msgid "  (use \"%s\" for details)\n"
-msgstr "  (dùng \"%s\" để biết thêm chi tiết)\n"
+msgid "%%(deltabase) does not take arguments"
+msgstr "%%(deltabase) không nhận các đối số"
 
-#: remote.c:2127
+#: ref-filter.c:302
 #, 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"
+msgid "%%(body) does not take arguments"
+msgstr "%%(body) không nhận các đối số"
 
-#: remote.c:2133
-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"
+#: ref-filter.c:315
+#, c-format
+msgid "unrecognized %%(subject) argument: %s"
+msgstr "tham số không được thừa nhận %%(subject): %s"
 
-#: remote.c:2136
+#: ref-filter.c:334
 #, c-format
-msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
-msgid_plural ""
-"Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n"
-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"
+msgid "expected %%(trailers:key=<value>)"
+msgstr "cần %%(trailers:key=<giá trị>)"
 
-#: remote.c:2144
-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"
+#: ref-filter.c:336
+#, c-format
+msgid "unknown %%(trailers) argument: %s"
+msgstr "không hiểu tham số %%(trailers): %s"
 
-#: remote.c:2147
+#: ref-filter.c:367
 #, c-format
-msgid ""
-"Your branch and '%s' have diverged,\n"
-"and have %d and %d different commit each, respectively.\n"
-msgid_plural ""
-"Your branch and '%s' have diverged,\n"
-"and have %d and %d different commits each, respectively.\n"
-msgstr[0] ""
-"Nhánh của bạn và “%s” bị phân kỳ,\n"
-"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"
+msgid "positive value expected contents:lines=%s"
+msgstr "cần nội dung mang giá trị dương:lines=%s"
 
-#: remote.c:2157
-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"
+#: ref-filter.c:369
+#, c-format
+msgid "unrecognized %%(contents) argument: %s"
+msgstr "đối số không được thừa nhận %%(contents): %s"
 
-#: remote.c:2349
+#: ref-filter.c:384
 #, c-format
-msgid "cannot parse expected object name '%s'"
-msgstr "không thể phân tích tên đối tượng mong muốn “%s”"
+msgid "positive value expected '%s' in %%(%s)"
+msgstr "cần giá trị dương “%s” trong %%(%s)"
 
-#: replace-object.c:21
+#: ref-filter.c:388
 #, c-format
-msgid "bad replace ref name: %s"
-msgstr "tên tham chiếu thay thế bị sai: %s"
+msgid "unrecognized argument '%s' in %%(%s)"
+msgstr "đối số “%s” không được thừa nhận trong %%(%s)"
 
-#: replace-object.c:30
+#: ref-filter.c:402
 #, c-format
-msgid "duplicate replace ref: %s"
-msgstr "tham chiếu thay thế bị trùng: %s"
+msgid "unrecognized email option: %s"
+msgstr "không nhận ra tùy chọn thư điện tử: “%s”"
 
-#: replace-object.c:82
+#: ref-filter.c:432
 #, c-format
-msgid "replace depth too high for object %s"
-msgstr "độ sâu thay thế quá cao cho đối tượng %s"
-
-#: rerere.c:217 rerere.c:226 rerere.c:229
-msgid "corrupt MERGE_RR"
-msgstr "MERGE_RR sai hỏng"
-
-#: rerere.c:264 rerere.c:269
-msgid "unable to write rerere record"
-msgstr "không thể ghi bản ghi rerere"
+msgid "expected format: %%(align:<width>,<position>)"
+msgstr "cần định dạng: %%(align:<width>,<position>)"
 
-#: rerere.c:495
+#: ref-filter.c:444
 #, c-format
-msgid "there were errors while writing '%s' (%s)"
-msgstr "gặp lỗi đọc khi đang ghi “%s” (%s)"
+msgid "unrecognized position:%s"
+msgstr "vị trí không được thừa nhận:%s"
 
-#: rerere.c:498
+#: ref-filter.c:451
 #, c-format
-msgid "failed to flush '%s'"
-msgstr "gặp lỗi khi đẩy dữ liệu “%s” lên đĩa"
+msgid "unrecognized width:%s"
+msgstr "chiều rộng không được thừa nhận:%s"
 
-#: rerere.c:503 rerere.c:1039
+#: ref-filter.c:460
 #, c-format
-msgid "could not parse conflict hunks in '%s'"
-msgstr "không thể phân tích các mảnh xung đột trong “%s”"
+msgid "unrecognized %%(align) argument: %s"
+msgstr "đối số không được thừa nhận %%(align): %s"
 
-#: rerere.c:684
+#: ref-filter.c:468
 #, c-format
-msgid "failed utime() on '%s'"
-msgstr "gặp lỗi utime() trên “%s”"
+msgid "positive width expected with the %%(align) atom"
+msgstr "cần giá trị độ rộng dương với nguyên tử %%(align)"
 
-#: rerere.c:694
+#: ref-filter.c:486
 #, c-format
-msgid "writing '%s' failed"
-msgstr "gặp lỗi khi đang ghi “%s”"
+msgid "unrecognized %%(if) argument: %s"
+msgstr "đối số không được thừa nhận %%(if): %s"
 
-#: rerere.c:714
+#: ref-filter.c:588
 #, c-format
-msgid "Staged '%s' using previous resolution."
-msgstr "Đã tạm cất “%s” sử dụng cách phân giải kế trước."
+msgid "malformed field name: %.*s"
+msgstr "tên trường dị hình: %.*s"
 
-#: rerere.c:753
+#: ref-filter.c:615
 #, c-format
-msgid "Recorded resolution for '%s'."
-msgstr "Cách giải quyết đã ghi lại cho “%s”."
+msgid "unknown field name: %.*s"
+msgstr "không hiểu tên trường: %.*s"
 
-#: rerere.c:788
+#: ref-filter.c:619
 #, c-format
-msgid "Resolved '%s' using previous resolution."
-msgstr "Đã phân giải giải “%s” sử dụng cách giải quyết kế trước."
+msgid ""
+"not a git repository, but the field '%.*s' requires access to object data"
+msgstr ""
+"không phải là một kho git, nhưng trường “%.*s” yêu cầu truy cập vào dữ liệu "
+"đối tượng"
 
-#: rerere.c:803
+#: ref-filter.c:743
 #, c-format
-msgid "cannot unlink stray '%s'"
-msgstr "không thể unlink stray “%s”"
+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)"
 
-#: rerere.c:807
+#: ref-filter.c:806
 #, c-format
-msgid "Recorded preimage for '%s'"
-msgstr "Preimage đã được ghi lại cho “%s”"
+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)"
 
-#: rerere.c:881 submodule.c:2082 builtin/log.c:1992
-#: builtin/submodule--helper.c:1878 builtin/submodule--helper.c:1890
+#: ref-filter.c:808
 #, c-format
-msgid "could not create directory '%s'"
-msgstr "không thể tạo thư mục “%s”"
+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"
 
-#: rerere.c:1057
+#: ref-filter.c:810
 #, c-format
-msgid "failed to update conflicted state in '%s'"
-msgstr "gặp lỗi khi chạy cập nhật trạng thái bị xung đột trong “%s”"
+msgid "format: %%(then) atom used after %%(else)"
+msgstr "định dạng: nguyên tử %%(then) được dùng sau %%(else)"
 
-#: rerere.c:1068 rerere.c:1075
+#: ref-filter.c:838
 #, c-format
-msgid "no remembered resolution for '%s'"
-msgstr "Ä\91ừng nhó các giải quyết cho â\80\9c%sâ\80\9d"
+msgid "format: %%(else) atom used without an %%(if) atom"
+msgstr "Ä\91á»\8bnh dạng: nguyên tá»­ %%(else) Ä\91ược dùng mà không có nguyên tá»­ %%(if)"
 
-#: rerere.c:1077
+#: ref-filter.c:840
 #, c-format
-msgid "cannot unlink '%s'"
-msgstr "không thể unlink “%s”"
+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)"
 
-#: rerere.c:1087
+#: ref-filter.c:842
 #, c-format
-msgid "Updated preimage for '%s'"
-msgstr "Ä\90ã cập nhật preimage cho â\80\9c%sâ\80\9d"
+msgid "format: %%(else) atom used more than once"
+msgstr "Ä\91á»\8bnh dạng: nguyên tá»­ %%(else) Ä\91ược dùng nhiá»\81u hÆ¡n má»\99t lần"
 
-#: rerere.c:1096
+#: ref-filter.c:857
 #, c-format
-msgid "Forgot resolution for '%s'\n"
-msgstr "Quên phân giải cho “%s”\n"
-
-#: rerere.c:1199
-msgid "unable to open rr-cache directory"
-msgstr "không thể mở thư mục rr-cache"
+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"
 
-#: reset.c:42
-msgid "could not determine HEAD revision"
-msgstr "không thể dò tìm điểm xét duyệt HEAD"
+#: ref-filter.c:914
+#, c-format
+msgid "malformed format string %s"
+msgstr "chuỗi định dạng dị hình %s"
 
-#: reset.c:70 reset.c:76 sequencer.c:3460
+#: ref-filter.c:1555
 #, c-format
-msgid "failed to find tree of %s"
-msgstr "gặp lỗi khi tìm cây của %s"
+msgid "(no branch, rebasing %s)"
+msgstr "(không nhánh, đang cải tổ %s)"
 
-#: revision.c:2336
-msgid "--unpacked=<packfile> no longer supported"
-msgstr "--unpacked=<packfile> không còn được hỗ trợ nữa"
+#: ref-filter.c:1558
+#, c-format
+msgid "(no branch, rebasing detached HEAD %s)"
+msgstr "(không nhánh, đang cải tổ HEAD %s đã tách rời)"
 
-#: revision.c:2356
+#: ref-filter.c:1561
 #, c-format
-msgid "unknown value for --diff-merges: %s"
-msgstr "không hiểu giá trị cho --diff-merges: %s"
+msgid "(no branch, bisect started on %s)"
+msgstr "(không nhánh, di chuyển nửa bước được bắt đầu tại %s)"
 
-#: revision.c:2694
-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"
+#: ref-filter.c:1565
+#, c-format
+msgid "(HEAD detached at %s)"
+msgstr "(HEAD được tách rời tại %s)"
 
-#: revision.c:2697
+#: ref-filter.c:1568
 #, 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ả"
+msgid "(HEAD detached from %s)"
+msgstr "(HEAD được tách rời từ %s)"
 
-#: revision.c:2907
-msgid "-L does not yet support diff formats besides -p and -s"
-msgstr "-L vẫn chưa hỗ trợ định dạng khác biệt nào ngoài -p và -s"
+#: ref-filter.c:1571
+msgid "(no branch)"
+msgstr "(không nhánh)"
 
-#: run-command.c:764
-msgid "open /dev/null failed"
-msgstr "gặp lỗi khi mở “/dev/null”"
+#: ref-filter.c:1603 ref-filter.c:1812
+#, c-format
+msgid "missing object %s for %s"
+msgstr "thiếu đối tượng %s cho %s"
 
-#: run-command.c:1271
+#: ref-filter.c:1613
 #, c-format
-msgid "cannot create async thread: %s"
-msgstr "không thể tạo tuyến async: %s"
+msgid "parse_object_buffer failed on %s for %s"
+msgstr "parse_object_buffer gặp lỗi trên %s cho %s"
 
-#: run-command.c:1335
+#: ref-filter.c:1996
 #, c-format
-msgid ""
-"The '%s' hook was ignored because it's not set as executable.\n"
-"You can disable this warning with `git config advice.ignoredHook false`."
-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“."
+msgid "malformed object at '%s'"
+msgstr "đối tượng dị hình tại “%s”"
 
-#: send-pack.c:146
-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ủ"
+#: ref-filter.c:2085
+#, c-format
+msgid "ignoring ref with broken name %s"
+msgstr "đang lờ đi tham chiếu với tên hỏng %s"
 
-#: send-pack.c:148
+#: ref-filter.c:2090 refs.c:676
 #, 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"
+msgid "ignoring broken ref %s"
+msgstr "đang lờ đi tham chiếu hỏng %s"
 
-#: send-pack.c:150
+#: ref-filter.c:2430
 #, c-format
-msgid "remote unpack failed: %s"
-msgstr "máy chủ gặp lỗi unpack: %s"
+msgid "format: %%(end) atom missing"
+msgstr "định dạng: thiếu nguyên tử %%(end)"
 
-#: send-pack.c:374
-msgid "failed to sign the push certificate"
-msgstr "gặp lỗi khi ký chứng thực đẩy"
+#: ref-filter.c:2529
+#, c-format
+msgid "malformed object name %s"
+msgstr "tên đối tượng dị hình %s"
 
-#: send-pack.c:467
-msgid "the receiving end does not support this repository's hash algorithm"
-msgstr "kết thúc nhận không hỗ trợ các tùy chọn của lệnh push"
+#: ref-filter.c:2534
+#, c-format
+msgid "option `%s' must point to a commit"
+msgstr "tùy chọn “%s” phải chỉ đến một lần chuyển giao"
 
-#: send-pack.c:476
-msgid "the receiving end does not support --signed push"
-msgstr "kết thúc nhận không hỗ trợ đẩy --signed"
+#: refs.c:264
+#, 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ả!"
 
-#: send-pack.c:478
+#: refs.c:566
+#, c-format
 msgid ""
-"not sending a push certificate since the receiving end does not support --"
-"signed push"
+"Using '%s' as the name for the initial branch. This default branch name\n"
+"is subject to change. To configure the initial branch name to use in all\n"
+"of your new repositories, which will suppress this warning, call:\n"
+"\n"
+"\tgit config --global init.defaultBranch <name>\n"
+"\n"
+"Names commonly chosen instead of 'master' are 'main', 'trunk' and\n"
+"'development'. The just-created branch can be renamed via this command:\n"
+"\n"
+"\tgit branch -m <name>\n"
 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:490
-msgid "the receiving end does not support --atomic push"
-msgstr "kết thúc nhận không hỗ trợ đẩy --atomic"
+"Sử dụng '%s' làm tên cho nhánh ban đầu. Tên nhánh mặc định này\n"
+"có thể thay đổi. Để cấu hình tên nhánh khởi đầu sử dụng trong tất cả\n"
+"kho lưu trữ mới của bạn, cái mà sẽ ngăn chặn cảnh báo này, gọi lệnh:\n"
+"\n"
+"\tgit config --global init.defaultBranch <tên>\n"
+"\n"
+"Tên thường được chọn thay cho 'master' là 'main', 'trunk' và\n"
+"'development'. Nhánh vừa tạo có thể được đổi tên thông qua lệnh:\n"
+"\n"
+"\tgit branch -m <tên>\n"
 
-#: send-pack.c:495
-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"
+#: refs.c:588
+#, c-format
+msgid "could not retrieve `%s`"
+msgstr "không thể lấy về “%s”"
 
-#: sequencer.c:195
+#: refs.c:598
 #, 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”"
+msgid "invalid branch name: %s = %s"
+msgstr "tên nhánh không hợp lệ: %s = %s"
 
-#: sequencer.c:323
+#: refs.c:674
 #, c-format
-msgid "could not delete '%s'"
-msgstr "không thể xóa bỏ “%s”"
+msgid "ignoring dangling symref %s"
+msgstr "đang lờ đi tham chiếu mềm thừa %s"
 
-#: sequencer.c:343 builtin/rebase.c:755 builtin/rebase.c:1596 builtin/rm.c:385
+#: refs.c:922
 #, c-format
-msgid "could not remove '%s'"
-msgstr "không thể gỡ bỏ “%s”"
+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"
 
-#: sequencer.c:353
-msgid "revert"
-msgstr "hoàn nguyên"
+#: refs.c:929
+#, 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"
 
-#: sequencer.c:355
-msgid "cherry-pick"
-msgstr "cherry-pick"
+#: refs.c:994
+#, c-format
+msgid "log for %s is empty"
+msgstr "nhật ký cho %s trống rỗng"
 
-#: sequencer.c:357
-msgid "rebase"
-msgstr "rebase"
+#: refs.c:1086
+#, c-format
+msgid "refusing to update ref with bad name '%s'"
+msgstr "từ chối cập nhật tham chiếu với tên sai “%s”"
 
-#: sequencer.c:359
+#: refs.c:1157
 #, c-format
-msgid "unknown action: %d"
-msgstr "không nhận ra thao tác: %d"
+msgid "update_ref failed for ref '%s': %s"
+msgstr "update_ref bị lỗi cho ref “%s”: %s"
 
-#: sequencer.c:418
-msgid ""
-"after resolving the conflicts, mark the corrected paths\n"
-"with 'git add <paths>' or 'git rm <paths>'"
-msgstr ""
-"sau khi giải quyết các xung đột, đánh dấu đường dẫn đã sửa\n"
-"với lệnh “git add </các/đường/dẫn>” hoặc “git rm </các/đường/dẫn>”"
+#: refs.c:2051
+#, 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”"
 
-#: sequencer.c:421
-msgid ""
-"after resolving the conflicts, mark the corrected paths\n"
-"with 'git add <paths>' or 'git rm <paths>'\n"
-"and commit the result with 'git commit'"
-msgstr ""
-"sau khi giải quyết các xung đột, đánh dấu đường dẫn đã sửa\n"
-"với lệnh “git add </các/đường/dẫn>” hoặc “git rm </các/đường/dẫn>”\n"
-"và chuyển giao kết quả bằng lệnh “git commit”"
+#: refs.c:2131
+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"
 
-#: sequencer.c:434 sequencer.c:3062
-#, c-format
-msgid "could not lock '%s'"
-msgstr "không thể khóa “%s”"
+#: refs.c:2142
+msgid "ref updates aborted by hook"
+msgstr "các cập nhật tham chiếu bị bãi bỏ bởi móc"
 
-#: sequencer.c:436 sequencer.c:2861 sequencer.c:3066 sequencer.c:3080
-#: sequencer.c:3337 sequencer.c:5326 strbuf.c:1168 wrapper.c:631
+#: refs.c:2242 refs.c:2272
 #, c-format
-msgid "could not write to '%s'"
-msgstr "không thể ghi vào “%s”"
+msgid "'%s' exists; cannot create '%s'"
+msgstr "“%s” sẵn có; không thể tạo “%s”"
 
-#: sequencer.c:441
+#: refs.c:2248 refs.c:2283
 #, c-format
-msgid "could not write eol to '%s'"
-msgstr "không thể ghi eol vào “%s”"
+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"
 
-#: sequencer.c:446 sequencer.c:2866 sequencer.c:3068 sequencer.c:3082
-#: sequencer.c:3345
+#: refs/files-backend.c:1228
 #, c-format
-msgid "failed to finalize '%s'"
-msgstr "gặp lỗi khi hoàn thành “%s”"
+msgid "could not remove reference %s"
+msgstr "không thể gỡ bỏ tham chiếu: %s"
 
-#: sequencer.c:485
+#: refs/files-backend.c:1242 refs/packed-backend.c:1542
+#: refs/packed-backend.c:1552
 #, 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:489
-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ý."
+msgid "could not delete reference %s: %s"
+msgstr "không thể xóa bỏ tham chiếu %s: %s"
 
-#: sequencer.c:521
+#: refs/files-backend.c:1245 refs/packed-backend.c:1555
 #, c-format
-msgid "%s: fast-forward"
-msgstr "%s: chuyển-tiếp-nhanh"
+msgid "could not delete references: %s"
+msgstr "không thể xóa bỏ tham chiếu: %s"
 
-#: sequencer.c:560 builtin/tag.c:566
+#: refspec.c:170
 #, c-format
-msgid "Invalid cleanup mode %s"
-msgstr "Chế độ dọn dẹp không hợp lệ %s"
+msgid "invalid refspec '%s'"
+msgstr "refspec không hợp lệ “%s”"
 
-#. TRANSLATORS: %s will be "revert", "cherry-pick" or
-#. "rebase".
-#.
-#: sequencer.c:670
+#: remote.c:351
 #, 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"
+msgid "config remote shorthand cannot begin with '/': %s"
+msgstr "cấu hình viết tắt máy chủ không thể bắt đầu bằng “/”: %s"
 
-#: sequencer.c:687
-msgid "unable to update cache tree"
-msgstr "không thể cập nhật cây bộ nhớ đệm"
+#: remote.c:399
+msgid "more than one receivepack given, using the first"
+msgstr "đã đưa ra nhiều hơn một gói nhận về, đang sử dụng cái đầu tiên"
 
-#: sequencer.c:701
-msgid "could not resolve HEAD commit"
-msgstr "không thể phân giải lần chuyển giao HEAD"
+#: remote.c:407
+msgid "more than one uploadpack given, using the first"
+msgstr "đã đưa ra nhiều hơn một gói tải lên, đang sử dụng cái đầu tiên"
 
-#: sequencer.c:781
+#: remote.c:590
 #, c-format
-msgid "no key present in '%.*s'"
-msgstr "không có khóa hiện diện trong “%.*s”"
+msgid "Cannot fetch both %s and %s to %s"
+msgstr "Không thể lấy về cả %s và %s cho %s"
 
-#: sequencer.c:792
+#: remote.c:594
 #, c-format
-msgid "unable to dequote value of '%s'"
-msgstr "không thể giải trích dẫn giá trị của “%s”"
+msgid "%s usually tracks %s, not %s"
+msgstr "%s thường theo dõi %s, không phải %s"
 
-#: sequencer.c:829 wrapper.c:201 wrapper.c:371 builtin/am.c:710
-#: builtin/am.c:802 builtin/merge.c:1135 builtin/rebase.c:908
+#: remote.c:598
 #, c-format
-msgid "could not open '%s' for reading"
-msgstr "không thể mở “%s” để đọc"
-
-#: sequencer.c:839
-msgid "'GIT_AUTHOR_NAME' already given"
-msgstr "“GIT_AUTHOR_NAME” đã sẵn đưa ra rồi"
-
-#: sequencer.c:844
-msgid "'GIT_AUTHOR_EMAIL' already given"
-msgstr "“GIT_AUTHOR_EMAIL” đã sẵn đưa ra rồi"
-
-#: sequencer.c:849
-msgid "'GIT_AUTHOR_DATE' already given"
-msgstr "“GIT_AUTHOR_DATE” đã sẵn đưa ra rồi"
+msgid "%s tracks both %s and %s"
+msgstr "%s theo dõi cả %s và %s"
 
-#: sequencer.c:853
+#: remote.c:666
 #, c-format
-msgid "unknown variable '%s'"
-msgstr "không hiá»\83u biến â\80\9c%s”"
+msgid "key '%s' of pattern had no '*'"
+msgstr "khóa â\80\9c%sâ\80\9d cá»§a mẫu k có â\80\9c*”"
 
-#: sequencer.c:858
-msgid "missing 'GIT_AUTHOR_NAME'"
-msgstr "thiếu “GIT_AUTHOR_NAME”"
+#: remote.c:676
+#, c-format
+msgid "value '%s' of pattern has no '*'"
+msgstr "giá trị “%s” của mẫu k có “*”"
 
-#: sequencer.c:860
-msgid "missing 'GIT_AUTHOR_EMAIL'"
-msgstr "thiếu “GIT_AUTHOR_EMAIL”"
+#: remote.c:1083
+#, c-format
+msgid "src refspec %s does not match any"
+msgstr "refspec %s nguồn không khớp bất kỳ cái gì"
 
-#: sequencer.c:862
-msgid "missing 'GIT_AUTHOR_DATE'"
-msgstr "thiếu “GIT_AUTHOR_DATE”"
+#: remote.c:1088
+#, c-format
+msgid "src refspec %s matches more than one"
+msgstr "refspec %s nguồn khớp nhiều hơn một"
 
-#: sequencer.c:927
+#. TRANSLATORS: "matches '%s'%" is the <dst> part of "git push
+#. <remote> <src>:<dst>" push, and "being pushed ('%s')" is
+#. the <src>.
+#.
+#: remote.c:1103
 #, c-format
 msgid ""
-"you have staged changes in your working tree\n"
-"If these changes are meant to be squashed into the previous commit, run:\n"
-"\n"
-"  git commit --amend %s\n"
-"\n"
-"If they are meant to go into a new commit, run:\n"
-"\n"
-"  git commit %s\n"
+"The destination you provided is not a full refname (i.e.,\n"
+"starting with \"refs/\"). We tried to guess what you meant by:\n"
 "\n"
-"In both cases, once you're done, continue with:\n"
+"- Looking for a ref that matches '%s' on the remote side.\n"
+"- Checking if the <src> being pushed ('%s')\n"
+"  is a ref in \"refs/{heads,tags}/\". If so we add a corresponding\n"
+"  refs/{heads,tags}/ prefix on the remote side.\n"
 "\n"
-"  git rebase --continue\n"
+"Neither worked, so we gave up. You must fully qualify the ref."
 msgstr ""
-"bạn có các thay đổi so với trong bệ phóng trong thư mục làm việc của bạn.\n"
-"Nếu các thay đổi này là muốn squash vào lần chuyển giao kế trước, chạy:\n"
-"\n"
-"  git commit --amend %s\n"
-"\n"
-"Nếu chúng có ý là đi đến lần chuyển giao mới, thì chạy:\n"
-"\n"
-"  git commit %s\n"
+"Đích bạn đã cung cấp không phải tên tham chiếu đầy đủ (tức là\n"
+"bắt đầu bằng \"refs/\"). Chúng tôi đã cố suy luận rằng ý của bạn là:\n"
 "\n"
-"Trong cả hai trường hợp, một khi bạn làm xong, tiếp tục bằng:\n"
+"- Tìm kiếm một tham chiếu mà nó khớp “%s” bên phía máy chủ.\n"
+"- Kiểm tra xem <src> được đẩy lên (“%s”)\n"
+"  là một tham chiếu trong \"refs/{heads,tags}/\". Nếu thế chúng tôi thêm một "
+"tiền tố\n"
+"  refs/{heads,tags}/ tương ứng bên phía máy chủ.\n"
 "\n"
-"  git rebase --continue\n"
+"Nếu cả hai là không thể, thì chúng tôi cũng chịu thua. Bạn phải dùng tham "
+"chiếu dạng đầy đủ."
 
-#: sequencer.c:1208
-msgid "'prepare-commit-msg' hook failed"
-msgstr "móc “prepare-commit-msg” bị lỗi"
+#: remote.c:1123
+#, c-format
+msgid ""
+"The <src> part of the refspec is a commit object.\n"
+"Did you mean to create a new branch by pushing to\n"
+"'%s:refs/heads/%s'?"
+msgstr ""
+"Phần <src> của đặc tả đường dẫn là một đối tượng lần chuyển giao.\n"
+"Có phải ý bạn là một tạo một nhánh mới bằng cách đẩy lên\n"
+"“%s:refs/heads/%s”?"
 
-#: sequencer.c:1214
+#: remote.c:1128
+#, c-format
 msgid ""
-"Your name and email address were configured automatically based\n"
-"on your username and hostname. Please check that they are accurate.\n"
-"You can suppress this message by setting them explicitly. Run the\n"
-"following command and follow the instructions in your editor to edit\n"
-"your configuration file:\n"
-"\n"
-"    git config --global --edit\n"
-"\n"
-"After doing this, you may fix the identity used for this commit with:\n"
-"\n"
-"    git commit --amend --reset-author\n"
+"The <src> part of the refspec is a tag object.\n"
+"Did you mean to create a new tag by pushing to\n"
+"'%s:refs/tags/%s'?"
 msgstr ""
-"Tên và địa chỉ thư điện tử của bạn được cấu hình một cách tự động trên cơ "
-"sở\n"
-"tài khoản và địa chỉ máy chủ của bạn. Xin hãy kiểm tra xem chúng có chính "
-"xác không.\n"
-"Bạn có thể chặn những thông báo kiểu này bằng cách cài đặt các thông tin "
-"trên\n"
-"một cách rõ ràng. Chạy lệnh sau đây là theo các hướng dẫn trong bộ soạn "
-"thảo\n"
-"để chỉnh sửa tập tin cấu hình của mình:\n"
-"\n"
-"    git config --global --edit\n"
-"\n"
-"Sau khi thực hiện xong, bạn có thể sửa chữa định danh được sử dụng cho\n"
-"lần chuyển giao này với lệnh:\n"
-"\n"
-"    git commit --amend --reset-author\n"
+"Phần <src> của đặc tả đường dẫn là một đối tượng thẻ.\n"
+"Có phải ý bạn là một tạo một thẻ mới bằng cách đẩy lên\n"
+"“%s:refs/tags/%s”?"
 
-#: sequencer.c:1227
+#: remote.c:1133
+#, c-format
 msgid ""
-"Your name and email address were configured automatically based\n"
-"on your username and hostname. Please check that they are accurate.\n"
-"You can suppress this message by setting them explicitly:\n"
-"\n"
-"    git config --global user.name \"Your Name\"\n"
-"    git config --global user.email you@example.com\n"
-"\n"
-"After doing this, you may fix the identity used for this commit with:\n"
-"\n"
-"    git commit --amend --reset-author\n"
+"The <src> part of the refspec is a tree object.\n"
+"Did you mean to tag a new tree by pushing to\n"
+"'%s:refs/tags/%s'?"
 msgstr ""
-"Tên và địa chỉ thư điện tử của bạn được cấu hình một cách tự động trên cơ "
-"sở\n"
-"tài khoản và địa chỉ máy chủ của bạn. Xin hãy kiểm tra xem chúng có chính "
-"xác không.\n"
-"Bạn có thể chặn những thông báo kiểu này bằng cách cài đặt các thông tin "
-"trên một cách rõ ràng:\n"
-"\n"
-"    git config --global user.name \"Tên của bạn\"\n"
-"    git config --global user.email you@example.com\n"
-"\n"
-"Sau khi thực hiện xong, bạn có thể sửa chữa định danh được sử dụng cho lần "
-"chuyển giao này với lệnh:\n"
-"\n"
-"    git commit --amend --reset-author\n"
+"Phần <src> của đặc tả đường dẫn là một đối tượng cây.\n"
+"Có phải ý bạn là một tạo một cây mới bằng cách đẩy lên\n"
+"“%s:refs/tags/%s”?"
 
-#: sequencer.c:1269
-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"
+#: remote.c:1138
+#, c-format
+msgid ""
+"The <src> part of the refspec is a blob object.\n"
+"Did you mean to tag a new blob by pushing to\n"
+"'%s:refs/tags/%s'?"
+msgstr ""
+"Phần <src> của đặc tả đường dẫn là một đối tượng blob.\n"
+"Có phải ý bạn là một tạo một blob mới bằng cách đẩy lên\n"
+"“%s:refs/tags/%s”?"
 
-#: sequencer.c:1271
-msgid "could not parse newly created commit"
+#: remote.c:1174
+#, c-format
+msgid "%s cannot be resolved to branch"
+msgstr "“%s” không thể được phân giải thành nhánh"
+
+#: remote.c:1185
+#, c-format
+msgid "unable to delete '%s': remote ref does not exist"
+msgstr "không thể xóa “%s”: tham chiếu trên máy chủ không tồn tại"
+
+#: remote.c:1197
+#, c-format
+msgid "dst refspec %s matches more than one"
+msgstr "dst refspec %s khớp nhiều hơn một"
+
+#: remote.c:1204
+#, c-format
+msgid "dst ref %s receives from more than one src"
+msgstr "dst ref %s nhận từ hơn một nguồn"
+
+#: remote.c:1724 remote.c:1825
+msgid "HEAD does not point to a branch"
+msgstr "HEAD không chỉ đến một nhánh nào cả"
+
+#: remote.c:1733
+#, c-format
+msgid "no such branch: '%s'"
+msgstr "không có nhánh nào như thế: “%s”"
+
+#: remote.c:1736
+#, 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:1742
+#, c-format
+msgid "upstream branch '%s' not stored as a remote-tracking branch"
 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"
+"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ủ"
 
-#: sequencer.c:1317
-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"
+#: remote.c:1757
+#, 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ộ"
 
-#: sequencer.c:1319
-msgid "detached HEAD"
-msgstr "đã rời khỏi HEAD"
+#: remote.c:1769
+#, c-format
+msgid "branch '%s' has no remote for pushing"
+msgstr "nhánh “%s” không có máy chủ để đẩy lên"
 
-#: sequencer.c:1323
-msgid " (root-commit)"
-msgstr " (root-commit)"
+#: remote.c:1779
+#, c-format
+msgid "push refspecs for '%s' do not include '%s'"
+msgstr "đẩy refspecs cho “%s” không bao gồm “%s”"
 
-#: sequencer.c:1344
-msgid "could not parse HEAD"
-msgstr "không thể phân tích HEAD"
+#: remote.c:1792
+msgid "push has no destination (push.default is 'nothing')"
+msgstr "đẩy lên mà không có đích (push.default là “nothing”)"
 
-#: sequencer.c:1346
+#: remote.c:1814
+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:1943
 #, c-format
-msgid "HEAD %s is not a commit!"
-msgstr "HEAD %s không phải là một lần chuyển giao!"
+msgid "couldn't find remote ref %s"
+msgstr "không thể tìm thấy tham chiếu máy chủ %s"
 
-#: sequencer.c:1350 sequencer.c:1425 builtin/commit.c:1577
-msgid "could not parse HEAD commit"
-msgstr "không thể phân tích commit (lần chuyển giao) HEAD"
+#: remote.c:1956
+#, c-format
+msgid "* Ignoring funny ref '%s' locally"
+msgstr "* Đang bỏ qua tham chiếu thú vị nội bộ “%s”"
 
-#: sequencer.c:1403 sequencer.c:2100
-msgid "unable to parse commit author"
-msgstr "không thể phân tích tác giả của lần chuyển giao"
+#: remote.c:2119
+#, 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:2123
+msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
+msgstr "   (dùng \" git branch --unset-upstream\" để sửa)\n"
+
+#: remote.c:2126
+#, 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:2130
+#, 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:2133
+#, c-format
+msgid "  (use \"%s\" for details)\n"
+msgstr "  (dùng \"%s\" để biết thêm chi tiết)\n"
+
+#: remote.c:2137
+#, 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:2143
+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:2146
+#, c-format
+msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
+msgid_plural ""
+"Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n"
+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:2154
+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:2157
+#, c-format
+msgid ""
+"Your branch and '%s' have diverged,\n"
+"and have %d and %d different commit each, respectively.\n"
+msgid_plural ""
+"Your branch and '%s' have diverged,\n"
+"and have %d and %d different commits each, respectively.\n"
+msgstr[0] ""
+"Nhánh của bạn và “%s” bị phân kỳ,\n"
+"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:2167
+msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
+msgstr ""
+"  (dùng \"git pull\" để hòa trộn nhánh trên máy chủ vào trong nhánh của "
+"bạn)\n"
+
+#: remote.c:2359
+#, c-format
+msgid "cannot parse expected object name '%s'"
+msgstr "không thể phân tích tên đối tượng mong muốn “%s”"
 
-#: sequencer.c:1414 builtin/am.c:1566 builtin/merge.c:701
-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"
+#: replace-object.c:21
+#, c-format
+msgid "bad replace ref name: %s"
+msgstr "tên tham chiếu thay thế bị sai: %s"
 
-#: sequencer.c:1447 sequencer.c:1565
+#: replace-object.c:30
 #, c-format
-msgid "unable to read commit message from '%s'"
-msgstr "không thể đọc phần chú thích (message) từ “%s”"
+msgid "duplicate replace ref: %s"
+msgstr "tham chiếu thay thế bị trùng: %s"
 
-#: sequencer.c:1476 sequencer.c:1508
+#: replace-object.c:82
 #, c-format
-msgid "invalid author identity '%s'"
-msgstr "Ä\91á»\8bnh danh tác giả không hợp lá»\87 â\80\9c%sâ\80\9d"
+msgid "replace depth too high for object %s"
+msgstr "Ä\91á»\99 sâu thay thế quá cao cho Ä\91á»\91i tượng %s"
 
-#: sequencer.c:1482
-msgid "corrupt author: missing date information"
-msgstr "tác giả sai hỏng: thiếu thông tin này tháng"
+#: rerere.c:201 rerere.c:210 rerere.c:213
+msgid "corrupt MERGE_RR"
+msgstr "MERGE_RR sai hỏng"
 
-#: sequencer.c:1521 builtin/am.c:1593 builtin/commit.c:1678 builtin/merge.c:904
-#: builtin/merge.c:929 t/helper/test-fast-rebase.c:78
-msgid "failed to write commit object"
-msgstr "gặp lỗi khi ghi đối tượng chuyển giao"
+#: rerere.c:248 rerere.c:253
+msgid "unable to write rerere record"
+msgstr "không thể ghi bản ghi rerere"
 
-#: sequencer.c:1548 sequencer.c:4283 t/helper/test-fast-rebase.c:198
+#: rerere.c:479
 #, c-format
-msgid "could not update %s"
-msgstr "không thể cập nhật %s"
+msgid "there were errors while writing '%s' (%s)"
+msgstr "gặp lỗi đọc khi đang ghi “%s” (%s)"
 
-#: sequencer.c:1597
+#: rerere.c:482
 #, c-format
-msgid "could not parse commit %s"
-msgstr "không thể phân tích lần chuyển giao %s"
+msgid "failed to flush '%s'"
+msgstr "gặp lỗi khi đẩy dữ liệu “%s” lên đĩa"
 
-#: sequencer.c:1602
+#: rerere.c:487 rerere.c:1023
 #, 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”"
+msgid "could not parse conflict hunks in '%s'"
+msgstr "không thể phân tích các mảnh xung đột trong “%s”"
 
-#: sequencer.c:1685 sequencer.c:1796
+#: rerere.c:668
 #, c-format
-msgid "unknown command: %d"
-msgstr "không hiểu câu lệnh %d"
+msgid "failed utime() on '%s'"
+msgstr "gặp lỗi utime() trên “%s”"
 
-#: sequencer.c:1743 sequencer.c:1768
+#: rerere.c:678
 #, 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:1753
-msgid "need a HEAD to fixup"
-msgstr "cần một HEAD để sửa"
-
-#: sequencer.c:1755 sequencer.c:3372
-msgid "could not read HEAD"
-msgstr "không thể đọc HEAD"
-
-#: sequencer.c:1757
-msgid "could not read HEAD's commit message"
-msgstr "không thể đọc phần chú thích (message) của HEAD"
+msgid "writing '%s' failed"
+msgstr "gặp lỗi khi đang ghi “%s”"
 
-#: sequencer.c:1763
+#: rerere.c:698
 #, c-format
-msgid "cannot write '%s'"
-msgstr "không thể ghi “%s”"
-
-#: sequencer.c:1770 git-rebase--preserve-merges.sh:486
-msgid "This is the 1st commit message:"
-msgstr "Đây là chú thích cho lần chuyển giao thứ nhất:"
+msgid "Staged '%s' using previous resolution."
+msgstr "Đã tạm cất “%s” sử dụng cách phân giải kế trước."
 
-#: sequencer.c:1778
+#: rerere.c:737
 #, c-format
-msgid "could not read commit message of %s"
-msgstr "không thể đọc phần chú thích (message) của %s"
+msgid "Recorded resolution for '%s'."
+msgstr "Cách giải quyết đã ghi lại cho “%s”."
 
-#: sequencer.c:1785
+#: rerere.c:772
 #, c-format
-msgid "This is the commit message #%d:"
-msgstr "Ä\90ây là chú thích cho lần chuyá»\83n giao thứ #%d:"
+msgid "Resolved '%s' using previous resolution."
+msgstr "Ä\90ã phân giải giải â\80\9c%sâ\80\9d sá»­ dụng cách giải quyết kế trưá»\9bc."
 
-#: sequencer.c:1791
+#: rerere.c:787
 #, 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:1879
-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:1886
-msgid "cannot fixup root commit"
-msgstr "không thể sửa chữa lần chuyển giao gốc"
+msgid "cannot unlink stray '%s'"
+msgstr "không thể unlink stray “%s”"
 
-#: sequencer.c:1905
+#: rerere.c:791
 #, 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."
+msgid "Recorded preimage for '%s'"
+msgstr "Preimage đã được ghi lại cho “%s”"
 
-#: sequencer.c:1913 sequencer.c:1921
+#: rerere.c:865 submodule.c:2088 builtin/log.c:1991
+#: builtin/submodule--helper.c:1878 builtin/submodule--helper.c:1890
 #, c-format
-msgid "commit %s does not have parent %d"
-msgstr "lần chuyển giao %s không có cha mẹ %d"
+msgid "could not create directory '%s'"
+msgstr "không thể tạo thư mục “%s”"
 
-#: sequencer.c:1927
+#: rerere.c:1041
 #, c-format
-msgid "cannot get commit message for %s"
-msgstr "không thể lấy ghi chú lần chuyển giao cho %s"
+msgid "failed to update conflicted state in '%s'"
+msgstr "gặp lỗi khi chạy cập nhật trạng thái bị xung đột trong “%s”"
 
-#. TRANSLATORS: The first %s will be a "todo" command like
-#. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:1946
+#: rerere.c:1052 rerere.c:1059
 #, 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"
+msgid "no remembered resolution for '%s'"
+msgstr "đừng nhó các giải quyết cho “%s”"
 
-#: sequencer.c:2011
+#: rerere.c:1061
 #, c-format
-msgid "could not rename '%s' to '%s'"
-msgstr "không thể đổi tên “%s” thành “%s”"
+msgid "cannot unlink '%s'"
+msgstr "không thể unlink “%s”"
 
-#: sequencer.c:2071
+#: rerere.c:1071
 #, c-format
-msgid "could not revert %s... %s"
-msgstr "không thể hoàn nguyên %s… %s"
+msgid "Updated preimage for '%s'"
+msgstr "Đã cập nhật preimage cho “%s”"
 
-#: sequencer.c:2072
+#: rerere.c:1080
 #, c-format
-msgid "could not apply %s... %s"
-msgstr "không thể áp dụng miếng vá %s… %s"
+msgid "Forgot resolution for '%s'\n"
+msgstr "Quên phân giải cho “%s”\n"
 
-#: sequencer.c:2092
-#, c-format
-msgid "dropping %s %s -- patch contents already upstream\n"
-msgstr "xóa %s %s -- vá nội dung thượng nguồn đã có\n"
+#: rerere.c:1191
+msgid "unable to open rr-cache directory"
+msgstr "không thể mở thư mục rr-cache"
 
-#: sequencer.c:2150
-#, c-format
-msgid "git %s: failed to read the index"
-msgstr "git %s: gặp lỗi đọc bảng mục lục"
+#: reset.c:42
+msgid "could not determine HEAD revision"
+msgstr "không thể dò tìm điểm xét duyệt HEAD"
 
-#: sequencer.c:2157
+#: reset.c:70 reset.c:76 sequencer.c:3468
 #, 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"
+msgid "failed to find tree of %s"
+msgstr "gặp lỗi khi tìm cây của %s"
+
+#: revision.c:2338
+msgid "--unpacked=<packfile> no longer supported"
+msgstr "--unpacked=<packfile> không còn được hỗ trợ nữa"
 
-#: sequencer.c:2234
+#: revision.c:2668
+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:2671
 #, c-format
-msgid "%s does not accept arguments: '%s'"
-msgstr "%s không nhận các đối số: “%s”"
+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:2877
+msgid "-L does not yet support diff formats besides -p and -s"
+msgstr "-L vẫn chưa hỗ trợ định dạng khác biệt nào ngoài -p và -s"
+
+#: run-command.c:767
+msgid "open /dev/null failed"
+msgstr "gặp lỗi khi mở “/dev/null”"
 
-#: sequencer.c:2243
+#: run-command.c:1274
 #, c-format
-msgid "missing arguments for %s"
-msgstr "thiếu đối số cho %s"
+msgid "cannot create async thread: %s"
+msgstr "không thể tạo tuyến async: %s"
 
-#: sequencer.c:2274
+#: run-command.c:1338
 #, c-format
-msgid "could not parse '%s'"
-msgstr "không thể phân tích cú pháp “%s”"
+msgid ""
+"The '%s' hook was ignored because it's not set as executable.\n"
+"You can disable this warning with `git config advice.ignoredHook false`."
+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:146
+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ủ"
 
-#: sequencer.c:2335
+#: send-pack.c:148
 #, c-format
-msgid "invalid line %d: %.*s"
-msgstr "dòng không hợp lệ %d: %.*s"
+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"
 
-#: sequencer.c:2346
+#: send-pack.c:150
 #, 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"
+msgid "remote unpack failed: %s"
+msgstr "máy chủ gặp lỗi unpack: %s"
 
-#: sequencer.c:2432
-msgid "cancelling a cherry picking in progress"
-msgstr "đang hủy bỏ thao tác cherry pick đang thực hiện"
+#: send-pack.c:374
+msgid "failed to sign the push certificate"
+msgstr "gặp lỗi khi ký chứng thực đẩy"
 
-#: sequencer.c:2441
-msgid "cancelling a revert in progress"
-msgstr "đang hủy bỏ các thao tác hoàn nguyên đang thực hiện"
+#: send-pack.c:467
+msgid "the receiving end does not support this repository's hash algorithm"
+msgstr "kết thúc nhận không hỗ trợ các tùy chọn của lệnh push"
 
-#: sequencer.c:2485
-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”."
+#: send-pack.c:476
+msgid "the receiving end does not support --signed push"
+msgstr "kết thúc nhận không hỗ trợ đẩy --signed"
 
-#: sequencer.c:2487
-#, c-format
-msgid "unusable instruction sheet: '%s'"
-msgstr "bảng chỉ thị không thể dùng được: %s"
+#: send-pack.c:478
+msgid ""
+"not sending a push certificate since the receiving end does not support --"
+"signed push"
+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"
 
-#: sequencer.c:2492
-msgid "no commits parsed."
-msgstr "không có lần chuyển giao nào được phân tích."
+#: send-pack.c:490
+msgid "the receiving end does not support --atomic push"
+msgstr "kết thúc nhận không hỗ trợ đẩy --atomic"
 
-#: sequencer.c:2503
-msgid "cannot cherry-pick during a revert."
-msgstr "không thể cherry-pick trong khi hoàn nguyên."
+#: send-pack.c:495
+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:2505
-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:195
+#, 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:2583
+#: sequencer.c:323
 #, c-format
-msgid "invalid value for %s: %s"
-msgstr "giá trị cho %s không hợp lệ: %s"
+msgid "could not delete '%s'"
+msgstr "không thể xóa bỏ “%s”"
 
-#: sequencer.c:2690
-msgid "unusable squash-onto"
-msgstr "squash-onto không dùng được"
+#: sequencer.c:343 builtin/rebase.c:757 builtin/rebase.c:1602 builtin/rm.c:385
+#, c-format
+msgid "could not remove '%s'"
+msgstr "không thể gỡ bỏ “%s”"
+
+#: sequencer.c:353
+msgid "revert"
+msgstr "hoàn nguyên"
+
+#: sequencer.c:355
+msgid "cherry-pick"
+msgstr "cherry-pick"
+
+#: sequencer.c:357
+msgid "rebase"
+msgstr "rebase"
 
-#: sequencer.c:2710
+#: sequencer.c:359
 #, c-format
-msgid "malformed options sheet: '%s'"
-msgstr "bảng tùy chọn dị hình: “%s”"
+msgid "unknown action: %d"
+msgstr "không nhận ra thao tác: %d"
 
-#: sequencer.c:2803 sequencer.c:4636
-msgid "empty commit set passed"
-msgstr "lần chuyển giao trống rỗng đặt là hợp quy cách"
+#: sequencer.c:418
+msgid ""
+"after resolving the conflicts, mark the corrected paths\n"
+"with 'git add <paths>' or 'git rm <paths>'"
+msgstr ""
+"sau khi giải quyết các xung đột, đánh dấu đường dẫn đã sửa\n"
+"với lệnh “git add </các/đường/dẫn>” hoặc “git rm </các/đường/dẫn>”"
 
-#: sequencer.c:2820
-msgid "revert is already in progress"
-msgstr "có thao tác hoàn nguyên đang được thực hiện"
+#: sequencer.c:421
+msgid ""
+"after resolving the conflicts, mark the corrected paths\n"
+"with 'git add <paths>' or 'git rm <paths>'\n"
+"and commit the result with 'git commit'"
+msgstr ""
+"sau khi giải quyết các xung đột, đánh dấu đường dẫn đã sửa\n"
+"với lệnh “git add </các/đường/dẫn>” hoặc “git rm </các/đường/dẫn>”\n"
+"và chuyển giao kết quả bằng lệnh “git commit”"
 
-#: sequencer.c:2822
+#: sequencer.c:434 sequencer.c:3070
 #, c-format
-msgid "try \"git revert (--continue | %s--abort | --quit)\""
-msgstr "hãy thử \"git revert (--continue | %s--abort | --quit)\""
-
-#: sequencer.c:2825
-msgid "cherry-pick is already in progress"
-msgstr "có thao tác “cherry-pick” đang được thực hiện"
+msgid "could not lock '%s'"
+msgstr "không thể khóa “%s”"
 
-#: sequencer.c:2827
+#: sequencer.c:436 sequencer.c:2869 sequencer.c:3074 sequencer.c:3088
+#: sequencer.c:3345 sequencer.c:5334 strbuf.c:1168 wrapper.c:631
 #, c-format
-msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
-msgstr "hãy thử \"git cherry-pick (--continue | %s--abort | --quit)\""
+msgid "could not write to '%s'"
+msgstr "không thể ghi vào “%s”"
 
-#: sequencer.c:2841
+#: sequencer.c:441
 #, c-format
-msgid "could not create sequencer directory '%s'"
-msgstr "không thể tạo thư mục xếp dãy “%s”"
+msgid "could not write eol to '%s'"
+msgstr "không thể ghi eol vào “%s”"
 
-#: sequencer.c:2856
-msgid "could not lock HEAD"
-msgstr "không thể khóa HEAD"
+#: sequencer.c:446 sequencer.c:2874 sequencer.c:3076 sequencer.c:3090
+#: sequencer.c:3353
+#, c-format
+msgid "failed to finalize '%s'"
+msgstr "gặp lỗi khi hoàn thành “%s”"
 
-#: sequencer.c:2916 sequencer.c:4371
-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:485
+#, 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:2918 sequencer.c:2929
-msgid "cannot resolve HEAD"
-msgstr "không thể phân giải HEAD"
+#: sequencer.c:489
+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:2920 sequencer.c:2964
-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:521
+#, c-format
+msgid "%s: fast-forward"
+msgstr "%s: chuyển-tiếp-nhanh"
 
-#: sequencer.c:2950 builtin/grep.c:756
+#: sequencer.c:560 builtin/tag.c:598
 #, c-format
-msgid "cannot open '%s'"
-msgstr "không mở được “%s”"
+msgid "Invalid cleanup mode %s"
+msgstr "Chế độ dọn dẹp không hợp lệ %s"
 
-#: sequencer.c:2952
+#. TRANSLATORS: %s will be "revert", "cherry-pick" or
+#. "rebase".
+#.
+#: sequencer.c:670
 #, c-format
-msgid "cannot read '%s': %s"
-msgstr "không thể đọc “%s”: %s"
+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:2953
-msgid "unexpected end of file"
-msgstr "gặp kết thúc tập tin đột xuất"
+#: sequencer.c:684
+msgid "unable to update cache tree"
+msgstr "không thể cập nhật cây bộ nhớ đệm"
+
+#: sequencer.c:698
+msgid "could not resolve HEAD commit"
+msgstr "không thể phân giải lần chuyển giao HEAD"
 
-#: sequencer.c:2959
+#: sequencer.c:778
 #, 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"
+msgid "no key present in '%.*s'"
+msgstr "không có khóa hiện diện trong “%.*s”"
 
-#: sequencer.c:2970
-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:789
+#, c-format
+msgid "unable to dequote value of '%s'"
+msgstr "không thể giải trích dẫn giá trị của “%s”"
 
-#: sequencer.c:3011
-msgid "no revert in progress"
-msgstr "không có tiến trình hoàn nguyên nào"
+#: sequencer.c:826 wrapper.c:201 wrapper.c:371 builtin/am.c:710
+#: builtin/am.c:802 builtin/merge.c:1136 builtin/rebase.c:910
+#, c-format
+msgid "could not open '%s' for reading"
+msgstr "không thể mở “%s” để đọc"
 
-#: sequencer.c:3020
-msgid "no cherry-pick in progress"
-msgstr "không có cherry-pick đang được thực hiện"
+#: sequencer.c:836
+msgid "'GIT_AUTHOR_NAME' already given"
+msgstr "“GIT_AUTHOR_NAME” đã sẵn đưa ra rồi"
 
-#: sequencer.c:3030
-msgid "failed to skip the commit"
-msgstr "gặp lỗi khi bỏ qua đối tượng chuyển giao"
+#: sequencer.c:841
+msgid "'GIT_AUTHOR_EMAIL' already given"
+msgstr "“GIT_AUTHOR_EMAIL” đã sẵn đưa ra rồi"
 
-#: sequencer.c:3037
-msgid "there is nothing to skip"
-msgstr "ở đây không có gì để mà bỏ qua cả"
+#: sequencer.c:846
+msgid "'GIT_AUTHOR_DATE' already given"
+msgstr "“GIT_AUTHOR_DATE” đã sẵn đưa ra rồi"
 
-#: sequencer.c:3040
+#: sequencer.c:850
 #, c-format
-msgid ""
-"have you committed already?\n"
-"try \"git %s --continue\""
-msgstr ""
-"bạn đã sẵn sàng chuyển giao chưa?\n"
-"thử \"git %s --continue\""
+msgid "unknown variable '%s'"
+msgstr "không hiểu biến “%s”"
 
-#: sequencer.c:3202 sequencer.c:4263
-msgid "cannot read HEAD"
-msgstr "không thể đọc HEAD"
+#: sequencer.c:855
+msgid "missing 'GIT_AUTHOR_NAME'"
+msgstr "thiếu “GIT_AUTHOR_NAME”"
 
-#: sequencer.c:3219
-#, c-format
-msgid "unable to copy '%s' to '%s'"
-msgstr "không thể chép “%s” sang “%s”"
+#: sequencer.c:857
+msgid "missing 'GIT_AUTHOR_EMAIL'"
+msgstr "thiếu “GIT_AUTHOR_EMAIL”"
 
-#: sequencer.c:3227
+#: sequencer.c:859
+msgid "missing 'GIT_AUTHOR_DATE'"
+msgstr "thiếu “GIT_AUTHOR_DATE”"
+
+#: sequencer.c:924
 #, c-format
 msgid ""
-"You can amend the commit now, with\n"
+"you have staged changes in your working tree\n"
+"If these changes are meant to be squashed into the previous commit, run:\n"
 "\n"
 "  git commit --amend %s\n"
 "\n"
-"Once you are satisfied with your changes, run\n"
+"If they are meant to go into a new commit, run:\n"
+"\n"
+"  git commit %s\n"
+"\n"
+"In both cases, once you're done, continue with:\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"
+"bạn có các thay đổi so với trong bệ phóng trong thư mục làm việc của bạn.\n"
+"Nếu các thay đổi này là muốn squash vào lần chuyển giao kế trước, chạy:\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ếu chúng có ý là đi đến lần chuyển giao mới, thì chạy:\n"
+"\n"
+"  git commit %s\n"
+"\n"
+"Trong cả hai trường hợp, một khi bạn làm xong, tiếp tục bằng:\n"
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:3237
-#, c-format
-msgid "Could not apply %s... %.*s"
-msgstr "Không thể áp dụng %s… %.*s"
-
-#: sequencer.c:3244
-#, c-format
-msgid "Could not merge %.*s"
-msgstr "Không hòa trộn %.*s"
-
-#: sequencer.c:3258 sequencer.c:3262 builtin/difftool.c:640
-#, c-format
-msgid "could not copy '%s' to '%s'"
-msgstr "không thể chép “%s” sang “%s”"
-
-#: sequencer.c:3274
-#, c-format
-msgid "Executing: %s\n"
-msgstr "Đang thực thi: %s\n"
+#: sequencer.c:1211
+msgid "'prepare-commit-msg' hook failed"
+msgstr "móc “prepare-commit-msg” bị lỗi"
 
-#: sequencer.c:3289
-#, c-format
+#: sequencer.c:1217
 msgid ""
-"execution failed: %s\n"
-"%sYou can fix the problem, and then run\n"
+"Your name and email address were configured automatically based\n"
+"on your username and hostname. Please check that they are accurate.\n"
+"You can suppress this message by setting them explicitly. Run the\n"
+"following command and follow the instructions in your editor to edit\n"
+"your configuration file:\n"
 "\n"
-"  git rebase --continue\n"
+"    git config --global --edit\n"
+"\n"
+"After doing this, you may fix the identity used for this commit with:\n"
 "\n"
+"    git commit --amend --reset-author\n"
 msgstr ""
-"thực thi gặp lỗi: %s\n"
-"%sBạn có thể sửa các trục trặc, và sau đó chạy lệnh\n"
+"Tên và địa chỉ thư điện tử của bạn được cấu hình một cách tự động trên cơ "
+"sở\n"
+"tài khoản và địa chỉ máy chủ của bạn. Xin hãy kiểm tra xem chúng có chính "
+"xác không.\n"
+"Bạn có thể chặn những thông báo kiểu này bằng cách cài đặt các thông tin "
+"trên\n"
+"một cách rõ ràng. Chạy lệnh sau đây là theo các hướng dẫn trong bộ soạn "
+"thảo\n"
+"để chỉnh sửa tập tin cấu hình của mình:\n"
 "\n"
-"  git rebase --continue\n"
+"    git config --global --edit\n"
 "\n"
+"Sau khi thực hiện xong, bạn có thể sửa chữa định danh được sử dụng cho\n"
+"lần chuyển giao này với lệnh:\n"
+"\n"
+"    git commit --amend --reset-author\n"
 
-#: sequencer.c:3295
-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:3301
-#, c-format
+#: sequencer.c:1230
 msgid ""
-"execution succeeded: %s\n"
-"but left changes to the index and/or the working tree\n"
-"Commit or stash your changes, and then run\n"
+"Your name and email address were configured automatically based\n"
+"on your username and hostname. Please check that they are accurate.\n"
+"You can suppress this message by setting them explicitly:\n"
 "\n"
-"  git rebase --continue\n"
+"    git config --global user.name \"Your Name\"\n"
+"    git config --global user.email you@example.com\n"
 "\n"
+"After doing this, you may fix the identity used for this commit with:\n"
+"\n"
+"    git commit --amend --reset-author\n"
 msgstr ""
-"thực thi thành công: %s\n"
-"nhưng còn các thay đổi trong mục lục và/hoặc cây làm việc\n"
-"Chuyển giao hay tạm cất các thay đổi này đi, rồi chạy\n"
+"Tên và địa chỉ thư điện tử của bạn được cấu hình một cách tự động trên cơ "
+"sở\n"
+"tài khoản và địa chỉ máy chủ của bạn. Xin hãy kiểm tra xem chúng có chính "
+"xác không.\n"
+"Bạn có thể chặn những thông báo kiểu này bằng cách cài đặt các thông tin "
+"trên một cách rõ ràng:\n"
 "\n"
-"  git rebase --continue\n"
+"    git config --global user.name \"Tên của bạn\"\n"
+"    git config --global user.email you@example.com\n"
+"\n"
+"Sau khi thực hiện xong, bạn có thể sửa chữa định danh được sử dụng cho lần "
+"chuyển giao này với lệnh:\n"
 "\n"
+"    git commit --amend --reset-author\n"
 
-#: sequencer.c:3362
-#, c-format
-msgid "illegal label name: '%.*s'"
-msgstr "tên nhãn dị hình: “%.*s”"
+#: sequencer.c:1272
+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:3416
-msgid "writing fake root commit"
-msgstr "ghi lần chuyển giao gốc giả"
+#: sequencer.c:1274
+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:3421
-msgid "writing squash-onto"
-msgstr "đang ghi squash-onto"
+#: sequencer.c:1320
+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:3505
-#, c-format
-msgid "could not resolve '%s'"
-msgstr "không thể phân giải “%s”"
+#: sequencer.c:1322
+msgid "detached HEAD"
+msgstr "đã rời khỏi HEAD"
 
-#: sequencer.c:3538
-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:1326
+msgid " (root-commit)"
+msgstr " (root-commit)"
 
-#: sequencer.c:3560
-#, c-format
-msgid "unable to parse '%.*s'"
-msgstr "không thể phân tích “%.*s”"
+#: sequencer.c:1347
+msgid "could not parse HEAD"
+msgstr "không thể phân tích HEAD"
 
-#: sequencer.c:3569
+#: sequencer.c:1349
 #, c-format
-msgid "nothing to merge: '%.*s'"
-msgstr "chẳng có gì để hòa trộn: “%.*s”"
+msgid "HEAD %s is not a commit!"
+msgstr "HEAD %s không phải là một lần chuyển giao!"
 
-#: sequencer.c:3581
-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:1353 sequencer.c:1431 builtin/commit.c:1577
+msgid "could not parse HEAD commit"
+msgstr "không thể phân tích commit (lần chuyển giao) HEAD"
 
-#: sequencer.c:3597
-#, 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:1409 sequencer.c:2108
+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:3780
+#: sequencer.c:1420 builtin/am.c:1566 builtin/merge.c:702
+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:1453 sequencer.c:1573
 #, c-format
-msgid "could not even attempt to merge '%.*s'"
-msgstr "không thể ngay cả khi thử hòa trộn “%.*s”"
+msgid "unable to read commit message from '%s'"
+msgstr "không thể đọc phần chú thích (message) từ “%s”"
 
-#: sequencer.c:3796
-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:1484 sequencer.c:1516
+#, c-format
+msgid "invalid author identity '%s'"
+msgstr "định danh tác giả không hợp lệ “%s”"
 
-#: sequencer.c:3870
-msgid "Cannot autostash"
-msgstr "Không thể autostash"
+#: sequencer.c:1490
+msgid "corrupt author: missing date information"
+msgstr "tác giả sai hỏng: thiếu thông tin này tháng"
 
-#: sequencer.c:3873
-#, c-format
-msgid "Unexpected stash response: '%s'"
-msgstr "Gặp đáp ứng stash không cần: “%s”"
+#: sequencer.c:1529 builtin/am.c:1593 builtin/commit.c:1678 builtin/merge.c:905
+#: builtin/merge.c:930 t/helper/test-fast-rebase.c:78
+msgid "failed to write commit object"
+msgstr "gặp lỗi khi ghi đối tượng chuyển giao"
 
-#: sequencer.c:3879
+#: sequencer.c:1556 sequencer.c:4291 t/helper/test-fast-rebase.c:198
 #, c-format
-msgid "Could not create directory for '%s'"
-msgstr "Không thể tạo thư mục cho “%s”"
+msgid "could not update %s"
+msgstr "không thể cập nhật %s"
 
-#: sequencer.c:3882
+#: sequencer.c:1605
 #, c-format
-msgid "Created autostash: %s\n"
-msgstr "Đã tạo autostash: %s\n"
-
-#: sequencer.c:3886
-msgid "could not reset --hard"
-msgstr "không thể reset --hard"
+msgid "could not parse commit %s"
+msgstr "không thể phân tích lần chuyển giao %s"
 
-#: sequencer.c:3911
+#: sequencer.c:1610
 #, c-format
-msgid "Applied autostash.\n"
-msgstr "Đã áp dụng autostash.\n"
+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:3923
+#: sequencer.c:1693 sequencer.c:1804
 #, c-format
-msgid "cannot store %s"
-msgstr "không thử lưu “%s”"
+msgid "unknown command: %d"
+msgstr "không hiểu câu lệnh %d"
 
-#: sequencer.c:3926
+#: sequencer.c:1751 sequencer.c:1776
 #, c-format
-msgid ""
-"%s\n"
-"Your changes are safe in the stash.\n"
-"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
-msgstr ""
-"%s\n"
-"Các thay đổi của bạn an toàn trong stash (tạm cất đi).\n"
-"Bạn có thể chạy lệnh \"git stash pop\" hay \"git stash drop\" bất kỳ lúc "
-"nào.\n"
+msgid "This is a combination of %d commits."
+msgstr "Đây là tổ hợp của %d lần chuyển giao."
 
-#: sequencer.c:3931
-msgid "Applying autostash resulted in conflicts."
-msgstr "Áp dụng autostash có hiệu quả trong các xung đột."
+#: sequencer.c:1761
+msgid "need a HEAD to fixup"
+msgstr "cần một HEAD để sửa"
 
-#: sequencer.c:3932
-msgid "Autostash exists; creating a new stash entry."
-msgstr "Autostash đã sẵn có; nên tạo một mục stash mới."
+#: sequencer.c:1763 sequencer.c:3380
+msgid "could not read HEAD"
+msgstr "không thể đọc HEAD"
 
-#: sequencer.c:4025 git-rebase--preserve-merges.sh:769
-msgid "could not detach HEAD"
-msgstr "không thể tách rời HEAD"
+#: sequencer.c:1765
+msgid "could not read HEAD's commit message"
+msgstr "không thể đọc phần chú thích (message) của HEAD"
 
-#: sequencer.c:4040
+#: sequencer.c:1771
 #, c-format
-msgid "Stopped at HEAD\n"
-msgstr "Dừng lại ở HEAD\n"
+msgid "cannot write '%s'"
+msgstr "không thể ghi “%s”"
 
-#: sequencer.c:4042
-#, c-format
-msgid "Stopped at %s\n"
-msgstr "Dừng lại ở %s\n"
+#: sequencer.c:1778 git-rebase--preserve-merges.sh:486
+msgid "This is the 1st commit message:"
+msgstr "Đây là chú thích cho lần chuyển giao thứ nhất:"
 
-#: sequencer.c:4050
+#: sequencer.c:1786
 #, c-format
-msgid ""
-"Could not execute the todo command\n"
-"\n"
-"    %.*s\n"
-"It has been rescheduled; To edit the command before continuing, please\n"
-"edit the todo list first:\n"
-"\n"
-"    git rebase --edit-todo\n"
-"    git rebase --continue\n"
-msgstr ""
-"Không thể thực thi lệnh todo\n"
-"\n"
-"    %.*s\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"
+msgid "could not read commit message of %s"
+msgstr "không thể đọc phần chú thích (message) của %s"
 
-#: sequencer.c:4096
+#: sequencer.c:1793
 #, c-format
-msgid "Rebasing (%d/%d)%s"
-msgstr "Đang cải tổ (%d/%d)%s"
+msgid "This is the commit message #%d:"
+msgstr "Đây là chú thích cho lần chuyển giao thứ #%d:"
 
-#: sequencer.c:4141
+#: sequencer.c:1799
 #, c-format
-msgid "Stopped at %s...  %.*s\n"
-msgstr "Dừng lại ở %s…  %.*s\n"
+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:1887
+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:1894
+msgid "cannot fixup root commit"
+msgstr "không thể sửa chữa lần chuyển giao gốc"
 
-#: sequencer.c:4212
+#: sequencer.c:1913
 #, c-format
-msgid "unknown command %d"
-msgstr "không hiểu câu lệnh %d"
+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:4271
-msgid "could not read orig-head"
-msgstr "không thể đọc orig-head"
+#: sequencer.c:1921 sequencer.c:1929
+#, 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:4276
-msgid "could not read 'onto'"
-msgstr "không thể đọc “onto”."
+#: sequencer.c:1935
+#, c-format
+msgid "cannot get commit message for %s"
+msgstr "không thể lấy ghi chú lần chuyển giao cho %s"
 
-#: sequencer.c:4290
+#. TRANSLATORS: The first %s will be a "todo" command like
+#. "revert" or "pick", the second %s a SHA1.
+#: sequencer.c:1954
 #, c-format
-msgid "could not update HEAD to %s"
-msgstr "không thể cập nhật HEAD thành %s"
+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:4350
+#: sequencer.c:2019
 #, c-format
-msgid "Successfully rebased and updated %s.\n"
-msgstr "Cài tổ và cập nhật %s một cách thành công.\n"
+msgid "could not rename '%s' to '%s'"
+msgstr "không thể đổi tên “%s” thành “%s”"
 
-#: sequencer.c:4383
-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:2079
+#, c-format
+msgid "could not revert %s... %s"
+msgstr "không thể hoàn nguyên %s… %s"
 
-#: sequencer.c:4392
-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:2080
+#, c-format
+msgid "could not apply %s... %s"
+msgstr "không thể áp dụng miếng vá %s… %s"
 
-#: sequencer.c:4394
+#: sequencer.c:2100
 #, c-format
-msgid "invalid file: '%s'"
-msgstr "tập tin không hợp lệ: “%s”"
+msgid "dropping %s %s -- patch contents already upstream\n"
+msgstr "xóa %s %s -- vá nội dung thượng nguồn đã có\n"
 
-#: sequencer.c:4396
+#: sequencer.c:2158
 #, c-format
-msgid "invalid contents: '%s'"
-msgstr "nội dung không hợp lệ: “%s”"
+msgid "git %s: failed to read the index"
+msgstr "git %s: gặp lỗi đọc bảng mục lục"
 
-#: sequencer.c:4399
-msgid ""
-"\n"
-"You have uncommitted changes in your working tree. Please, commit them\n"
-"first and then run 'git rebase --continue' again."
-msgstr ""
-"\n"
-"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:2165
+#, 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:4435 sequencer.c:4474
+#: sequencer.c:2242
 #, c-format
-msgid "could not write file: '%s'"
-msgstr "không thể ghi tập tin: “%s”"
+msgid "%s does not accept arguments: '%s'"
+msgstr "%s không nhận các đối số: “%s”"
 
-#: sequencer.c:4490
-msgid "could not remove CHERRY_PICK_HEAD"
-msgstr "không thể xóa bỏ CHERRY_PICK_HEAD"
+#: sequencer.c:2251
+#, c-format
+msgid "missing arguments for %s"
+msgstr "thiếu đối số cho %s"
 
-#: sequencer.c:4497
-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:2282
+#, c-format
+msgid "could not parse '%s'"
+msgstr "không thể phân tích cú pháp “%s”"
 
-#: sequencer.c:4613
+#: sequencer.c:2343
 #, c-format
-msgid "%s: can't cherry-pick a %s"
-msgstr "%s: không thể cherry-pick một %s"
+msgid "invalid line %d: %.*s"
+msgstr "dòng không hợp lệ %d: %.*s"
 
-#: sequencer.c:4617
+#: sequencer.c:2354
 #, c-format
-msgid "%s: bad revision"
-msgstr "%s: điểm xét duyệt sai"
+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:4652
-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:2440
+msgid "cancelling a cherry picking in progress"
+msgstr "đang hủy bỏ thao tác cherry pick đang thực hiện"
 
-#: sequencer.c:5129
-msgid "make_script: unhandled options"
-msgstr "make_script: các tùy chọn được không xử lý"
+#: sequencer.c:2449
+msgid "cancelling a revert in progress"
+msgstr "đang hủy bỏ các thao tác hoàn nguyên đang thực hiện"
 
-#: sequencer.c:5132
-msgid "make_script: error preparing revisions"
-msgstr "make_script: lỗi chuẩn bị điểm hiệu chỉnh"
+#: sequencer.c:2493
+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:5374 sequencer.c:5391
-msgid "nothing to do"
-msgstr "không có gì để làm"
+#: sequencer.c:2495
+#, c-format
+msgid "unusable instruction sheet: '%s'"
+msgstr "bảng chỉ thị không thể dùng được: %s"
 
-#: sequencer.c:5410
-msgid "could not skip unnecessary pick commands"
-msgstr "không thể bỏ qua các lệnh cậy (pick) không cần thiết"
+#: sequencer.c:2500
+msgid "no commits parsed."
+msgstr "không có lần chuyển giao nào được phân tích."
 
-#: sequencer.c:5504
-msgid "the script was already rearranged."
-msgstr "văn lệnh đã sẵn được sắp đặt rồi."
+#: sequencer.c:2511
+msgid "cannot cherry-pick during a revert."
+msgstr "không thể cherry-pick trong khi hoàn nguyên."
 
-#: setup.c:133
-#, c-format
-msgid "'%s' is outside repository at '%s'"
-msgstr "“%s” ngoài một kho chứa tại “%s”"
+#: sequencer.c:2513
+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."
 
-#: setup.c:185
+#: sequencer.c:2591
 #, c-format
-msgid ""
-"%s: no such path in the working tree.\n"
-"Use 'git <command> -- <path>...' to specify paths that do not exist locally."
-msgstr ""
-"%s: không có đường dẫn nào như thế ở trong cây làm việc.\n"
-"Dùng “git <lệnh> -- <đường/dẫn>…” để chỉ định đường dẫn mà nó không tồn tại "
-"một cách nội bộ."
+msgid "invalid value for %s: %s"
+msgstr "giá trị cho %s không hợp lệ: %s"
 
-#: setup.c:198
-#, c-format
-msgid ""
-"ambiguous argument '%s': unknown revision or path not in the working tree.\n"
-"Use '--' to separate paths from revisions, like this:\n"
-"'git <command> [<revision>...] -- [<file>...]'"
-msgstr ""
-"tham số chưa rõ ràng “%s”: chưa biết điểm xem xét hay đường dẫn không trong "
-"cây làm việc.\n"
-"Dùng “--” để ngăn cách các đường dẫn khỏi điểm xem xét, như thế này:\n"
-"“git <lệnh> [<điểm xem xét>…] -- [<tập tin>…]”"
+#: sequencer.c:2698
+msgid "unusable squash-onto"
+msgstr "squash-onto không dùng được"
 
-#: setup.c:264
+#: sequencer.c:2718
 #, c-format
-msgid "option '%s' must come before non-option arguments"
-msgstr "tùy chọn “%s” phải trước các đối số đầu tiên không có tùy chọn"
+msgid "malformed options sheet: '%s'"
+msgstr "bảng tùy chọn dị hình: “%s”"
 
-#: setup.c:283
+#: sequencer.c:2811 sequencer.c:4644
+msgid "empty commit set passed"
+msgstr "lần chuyển giao trống rỗng đặt là hợp quy cách"
+
+#: sequencer.c:2828
+msgid "revert is already in progress"
+msgstr "có thao tác hoàn nguyên đang được thực hiện"
+
+#: sequencer.c:2830
 #, c-format
-msgid ""
-"ambiguous argument '%s': both revision and filename\n"
-"Use '--' to separate paths from revisions, like this:\n"
-"'git <command> [<revision>...] -- [<file>...]'"
-msgstr ""
-"tham số chưa rõ ràng “%s”: cả điểm xem xét và tên tập tin.\n"
-"Dùng “--” để ngăn cách các đường dẫn khỏi điểm xem xét, như thế này:\n"
-"“git <lệnh> [<điểm xem xét>…] -- [<tập tin>…]”"
+msgid "try \"git revert (--continue | %s--abort | --quit)\""
+msgstr "hãy thử \"git revert (--continue | %s--abort | --quit)\""
 
-#: setup.c:419
-msgid "unable to set up work tree using invalid config"
-msgstr "không thể cài đặt thư mục làm việc sử dụng cấu hình không hợp lệ"
+#: sequencer.c:2833
+msgid "cherry-pick is already in progress"
+msgstr "có thao tác “cherry-pick” đang được thực hiện"
 
-#: setup.c:423
-msgid "this operation must be run in a work tree"
-msgstr "thao tác này phải được thực hiện trong thư mục làm việc"
+#: sequencer.c:2835
+#, c-format
+msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
+msgstr "hãy thử \"git cherry-pick (--continue | %s--abort | --quit)\""
 
-#: setup.c:661
+#: sequencer.c:2849
 #, c-format
-msgid "Expected git repo version <= %d, found %d"
-msgstr "Cần phiên bản kho git <= %d, nhưng lại nhận được %d"
+msgid "could not create sequencer directory '%s'"
+msgstr "không thể tạo thư mục xếp dãy “%s”"
 
-#: setup.c:669
-msgid "unknown repository extensions found:"
-msgstr "tìm thấy phần mở rộng kho chưa biết:"
+#: sequencer.c:2864
+msgid "could not lock HEAD"
+msgstr "không thể khóa HEAD"
 
-#: setup.c:681
-msgid "repo version is 0, but v1-only extensions found:"
-msgstr "phiên bản kho là 0, nhưng lại tìm thấy phần mở rộng chỉ v1:"
+#: sequencer.c:2924 sequencer.c:4379
+msgid "no cherry-pick or revert in progress"
+msgstr "không cherry-pick hay hoàn nguyên trong tiến trình"
 
-#: setup.c:700
-#, c-format
-msgid "error opening '%s'"
-msgstr "gặp lỗi khi mở “%s”"
+#: sequencer.c:2926 sequencer.c:2937
+msgid "cannot resolve HEAD"
+msgstr "không thể phân giải HEAD"
 
-#: setup.c:702
-#, c-format
-msgid "too large to be a .git file: '%s'"
-msgstr "tập tin .git là quá lớn: “%s”"
+#: sequencer.c:2928 sequencer.c:2972
+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"
 
-#: setup.c:704
+#: sequencer.c:2958 builtin/grep.c:757
 #, c-format
-msgid "error reading %s"
-msgstr "gặp lỗi khi đọc %s"
+msgid "cannot open '%s'"
+msgstr "không mở được “%s”"
 
-#: setup.c:706
+#: sequencer.c:2960
 #, c-format
-msgid "invalid gitfile format: %s"
-msgstr "định dạng tập tin git không hợp lệ: %s"
+msgid "cannot read '%s': %s"
+msgstr "không thể đọc “%s”: %s"
 
-#: setup.c:708
-#, c-format
-msgid "no path in gitfile: %s"
-msgstr "không có đường dẫn trong tập tin git: %s"
+#: sequencer.c:2961
+msgid "unexpected end of file"
+msgstr "gặp kết thúc tập tin đột xuất"
 
-#: setup.c:710
+#: sequencer.c:2967
 #, c-format
-msgid "not a git repository: %s"
-msgstr "không phải là kho git: %s"
+msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
+msgstr "tập tin HEAD “pre-cherry-pick” đã lưu “%s” bị hỏng"
 
-#: setup.c:812
-#, c-format
-msgid "'$%s' too big"
-msgstr "“$%s” quá lớn"
+#: sequencer.c:2978
+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!"
 
-#: setup.c:826
+#: sequencer.c:3019
+msgid "no revert in progress"
+msgstr "không có tiến trình hoàn nguyên nào"
+
+#: sequencer.c:3028
+msgid "no cherry-pick in progress"
+msgstr "không có cherry-pick đang được thực hiện"
+
+#: sequencer.c:3038
+msgid "failed to skip the commit"
+msgstr "gặp lỗi khi bỏ qua đối tượng chuyển giao"
+
+#: sequencer.c:3045
+msgid "there is nothing to skip"
+msgstr "ở đây không có gì để mà bỏ qua cả"
+
+#: sequencer.c:3048
 #, c-format
-msgid "not a git repository: '%s'"
-msgstr "không phải là kho git: “%s”"
+msgid ""
+"have you committed already?\n"
+"try \"git %s --continue\""
+msgstr ""
+"bạn đã sẵn sàng chuyển giao chưa?\n"
+"thử \"git %s --continue\""
 
-#: setup.c:855 setup.c:857 setup.c:888
+#: sequencer.c:3210 sequencer.c:4271
+msgid "cannot read HEAD"
+msgstr "không thể đọc HEAD"
+
+#: sequencer.c:3227
 #, c-format
-msgid "cannot chdir to '%s'"
-msgstr "không thể chdir (chuyển đổi thư mục) sang “%s”"
+msgid "unable to copy '%s' to '%s'"
+msgstr "không thể chép “%s” sang “%s”"
 
-#: setup.c:860 setup.c:916 setup.c:926 setup.c:965 setup.c:973
-msgid "cannot come back to cwd"
-msgstr "không thể quay lại cwd"
+#: sequencer.c:3235
+#, 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"
 
-#: setup.c:987
+#: sequencer.c:3245
 #, c-format
-msgid "failed to stat '%*s%s%s'"
-msgstr "gặp lỗi khi lấy thống kê về “%*s%s%s”"
+msgid "Could not apply %s... %.*s"
+msgstr "Không thể áp dụng %s… %.*s"
 
-#: setup.c:1225
-msgid "Unable to read current working directory"
-msgstr "Không thể đọc thư mục làm việc hiện hành"
+#: sequencer.c:3252
+#, c-format
+msgid "Could not merge %.*s"
+msgstr "Không hòa trộn %.*s"
 
-#: setup.c:1234 setup.c:1240
+#: sequencer.c:3266 sequencer.c:3270 builtin/difftool.c:640
 #, c-format
-msgid "cannot change to '%s'"
-msgstr "không thể chuyển sang “%s”"
+msgid "could not copy '%s' to '%s'"
+msgstr "không thể chép “%s” sang “%s”"
 
-#: setup.c:1245
+#: sequencer.c:3282
 #, c-format
-msgid "not a git repository (or any of the parent directories): %s"
-msgstr "không phải là kho git (hoặc bất kỳ thư mục cha mẹ nào): %s"
+msgid "Executing: %s\n"
+msgstr "Đang thực thi: %s\n"
 
-#: setup.c:1251
+#: sequencer.c:3297
 #, c-format
 msgid ""
-"not a git repository (or any parent up to mount point %s)\n"
-"Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."
+"execution failed: %s\n"
+"%sYou can fix the problem, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
 msgstr ""
-"không phải là kho git (hay bất kỳ cha mẹ nào đến tận điểm gắn kết %s)\n"
-"Dừng tại biên của hệ thống tập tin (GIT_DISCOVERY_ACROSS_FILESYSTEM chưa "
-"đặt)."
+"thực thi gặp lỗi: %s\n"
+"%sBạn có thể sửa các trục trặc, và sau đó chạy lệnh\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
 
-#: setup.c:1362
+#: sequencer.c:3303
+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:3309
 #, c-format
 msgid ""
-"problem with core.sharedRepository filemode value (0%.3o).\n"
-"The owner of files must always have read and write permissions."
+"execution succeeded: %s\n"
+"but left changes to the index and/or the working tree\n"
+"Commit or stash your changes, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
 msgstr ""
-"gặp vấn đề với giá trị chế độ tập tin core.sharedRepository (0%.3o).\n"
-"người sở hữu tập tin phải luôn có quyền đọc và ghi."
+"thực thi thành công: %s\n"
+"nhưng còn các thay đổi trong mục lục và/hoặc cây làm việc\n"
+"Chuyển giao hay tạm cất các thay đổi này đi, rồi chạy\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
 
-#: setup.c:1409
-msgid "open /dev/null or dup failed"
-msgstr "gặp lỗi khi mở “/dev/null” hay dup"
+#: sequencer.c:3370
+#, c-format
+msgid "illegal label name: '%.*s'"
+msgstr "tên nhãn dị hình: “%.*s”"
 
-#: setup.c:1424
-msgid "fork failed"
-msgstr "gặp lỗi khi rẽ nhánh tiến trình"
+#: sequencer.c:3424
+msgid "writing fake root commit"
+msgstr "ghi lần chuyển giao gốc giả"
 
-#: setup.c:1429
-msgid "setsid failed"
-msgstr "setsid gặp lỗi"
+#: sequencer.c:3429
+msgid "writing squash-onto"
+msgstr "đang ghi squash-onto"
 
-#: sha1-file.c:480
+#: sequencer.c:3513
 #, 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"
+msgid "could not resolve '%s'"
+msgstr "không thể phân giải “%s”"
+
+#: sequencer.c:3546
+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"
 
-#: sha1-file.c:531
+#: sequencer.c:3568
 #, 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”"
+msgid "unable to parse '%.*s'"
+msgstr "không thể phân tích “%.*s”"
 
-#: sha1-file.c:603
+#: sequencer.c:3577
 #, 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"
+msgid "nothing to merge: '%.*s'"
+msgstr "chẳng có gì để hòa trộn: “%.*s”"
+
+#: sequencer.c:3589
+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]"
 
-#: sha1-file.c:610
+#: sequencer.c:3605
 #, c-format
-msgid "unable to normalize object directory: %s"
-msgstr "không thể chuẩn hóa thư mục đối tượng: “%s”"
+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”"
 
-#: sha1-file.c:653
-msgid "unable to fdopen alternates lockfile"
-msgstr "không thể fdopen tập tin khóa thay thế"
+#: sequencer.c:3788
+#, c-format
+msgid "could not even attempt to merge '%.*s'"
+msgstr "không thể ngay cả khi thử hòa trộn “%.*s”"
 
-#: sha1-file.c:671
-msgid "unable to read alternates file"
-msgstr "không thể đọc tập tin thay thế"
+#: sequencer.c:3804
+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"
 
-#: sha1-file.c:678
-msgid "unable to move new alternates file into place"
-msgstr "không thể di chuyển tập tin thay thế vào chỗ"
+#: sequencer.c:3878
+msgid "Cannot autostash"
+msgstr "Không thể autostash"
 
-#: sha1-file.c:713
+#: sequencer.c:3881
 #, c-format
-msgid "path '%s' does not exist"
-msgstr "đường dẫn “%s” không tồn tại"
+msgid "Unexpected stash response: '%s'"
+msgstr "Gặp đáp ứng stash không cần: “%s”"
 
-#: sha1-file.c:734
+#: sequencer.c:3887
 #, c-format
-msgid "reference repository '%s' as a linked checkout is not supported yet."
-msgstr "kho tham chiếu “%s” như là lấy ra liên kết vẫn chưa được hỗ trợ."
+msgid "Could not create directory for '%s'"
+msgstr "Không thể tạo thư mục cho “%s”"
 
-#: sha1-file.c:740
+#: sequencer.c:3890
 #, c-format
-msgid "reference repository '%s' is not a local repository."
-msgstr "kho tham chiếu “%s” không phải là một kho nội bộ."
+msgid "Created autostash: %s\n"
+msgstr "Đã tạo autostash: %s\n"
 
-#: sha1-file.c:746
-#, c-format
-msgid "reference repository '%s' is shallow"
-msgstr "kho tham chiếu “%s” là nông"
+#: sequencer.c:3894
+msgid "could not reset --hard"
+msgstr "không thể reset --hard"
 
-#: sha1-file.c:754
+#: sequencer.c:3919
 #, c-format
-msgid "reference repository '%s' is grafted"
-msgstr "kho tham chiếu “%s” bị cấy ghép"
+msgid "Applied autostash.\n"
+msgstr "Đã áp dụng autostash.\n"
 
-#: sha1-file.c:814
+#: sequencer.c:3931
 #, 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"
+msgid "cannot store %s"
+msgstr "không thử lưu “%s”"
 
-#: sha1-file.c:964
+#: sequencer.c:3934
 #, c-format
-msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
-msgstr "đang cố để mmap %<PRIuMAX> vượt quá giới hạn %<PRIuMAX>"
+msgid ""
+"%s\n"
+"Your changes are safe in the stash.\n"
+"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
+msgstr ""
+"%s\n"
+"Các thay đổi của bạn an toàn trong stash (tạm cất đi).\n"
+"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:3939
+msgid "Applying autostash resulted in conflicts."
+msgstr "Áp dụng autostash có hiệu quả trong các xung đột."
 
-#: sha1-file.c:985
-msgid "mmap failed"
-msgstr "mmap gặp lỗi"
+#: sequencer.c:3940
+msgid "Autostash exists; creating a new stash entry."
+msgstr "Autostash đã sẵn có; nên tạo một mục stash mới."
 
-#: sha1-file.c:1149
-#, c-format
-msgid "object file %s is empty"
-msgstr "tập tin đối tượng %s trống rỗng"
+#: sequencer.c:4033 git-rebase--preserve-merges.sh:769
+msgid "could not detach HEAD"
+msgstr "không thể tách rời HEAD"
 
-#: sha1-file.c:1284 sha1-file.c:2477
+#: sequencer.c:4048
 #, c-format
-msgid "corrupt loose object '%s'"
-msgstr "đối tượng mất hỏng “%s”"
+msgid "Stopped at HEAD\n"
+msgstr "Dừng lại ở HEAD\n"
 
-#: sha1-file.c:1286 sha1-file.c:2481
+#: sequencer.c:4050
 #, 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:1328
-msgid "invalid object type"
-msgstr "kiểu đối tượng không hợp lệ"
+msgid "Stopped at %s\n"
+msgstr "Dừng lại ở %s\n"
 
-#: sha1-file.c:1412
+#: sequencer.c:4058
 #, 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"
+msgid ""
+"Could not execute the todo command\n"
+"\n"
+"    %.*s\n"
+"It has been rescheduled; To edit the command before continuing, please\n"
+"edit the todo list first:\n"
+"\n"
+"    git rebase --edit-todo\n"
+"    git rebase --continue\n"
+msgstr ""
+"Không thể thực thi lệnh todo\n"
+"\n"
+"    %.*s\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"
 
-#: sha1-file.c:1415
+#: sequencer.c:4104
 #, c-format
-msgid "unable to unpack %s header"
-msgstr "không thể giải gói phần đầu %s"
+msgid "Rebasing (%d/%d)%s"
+msgstr "Đang cải tổ (%d/%d)%s"
 
-#: sha1-file.c:1421
+#: sequencer.c:4149
 #, 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"
+msgid "Stopped at %s...  %.*s\n"
+msgstr "Dừng lại ở %s…  %.*s\n"
 
-#: sha1-file.c:1424
+#: sequencer.c:4220
 #, c-format
-msgid "unable to parse %s header"
-msgstr "không thể phân tích phần đầu của “%s”"
+msgid "unknown command %d"
+msgstr "không hiểu câu lệnh %d"
 
-#: sha1-file.c:1651
-#, c-format
-msgid "failed to read object %s"
-msgstr "gặp lỗi khi đọc đối tượng “%s”"
+#: sequencer.c:4279
+msgid "could not read orig-head"
+msgstr "không thể đọc orig-head"
 
-#: sha1-file.c:1655
-#, c-format
-msgid "replacement %s not found for %s"
-msgstr "c%s thay thế không được tìm thấy cho %s"
+#: sequencer.c:4284
+msgid "could not read 'onto'"
+msgstr "không thể đọc “onto”."
 
-#: sha1-file.c:1659
+#: sequencer.c:4298
 #, 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"
+msgid "could not update HEAD to %s"
+msgstr "không thể cập nhật HEAD thành %s"
 
-#: sha1-file.c:1663
+#: sequencer.c:4358
 #, 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"
+msgid "Successfully rebased and updated %s.\n"
+msgstr "Cài tổ và cập nhật %s một cách thành công.\n"
 
-#: sha1-file.c:1768
-#, c-format
-msgid "unable to write file %s"
-msgstr "không thể ghi tập tin %s"
+#: sequencer.c:4391
+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:4400
+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"
 
-#: sha1-file.c:1775
+#: sequencer.c:4402
 #, c-format
-msgid "unable to set permission to '%s'"
-msgstr "không thể đặt quyền thành “%s”"
+msgid "invalid file: '%s'"
+msgstr "tập tin không hợp lệ: “%s”"
 
-#: sha1-file.c:1782
-msgid "file write error"
-msgstr "lỗi ghi tập tin"
+#: sequencer.c:4404
+#, c-format
+msgid "invalid contents: '%s'"
+msgstr "nội dung không hợp lệ: “%s”"
 
-#: sha1-file.c:1802
-msgid "error when closing loose object file"
-msgstr "gặp lỗi trong khi đóng tập tin đối tượng"
+#: sequencer.c:4407
+msgid ""
+"\n"
+"You have uncommitted changes in your working tree. Please, commit them\n"
+"first and then run 'git rebase --continue' again."
+msgstr ""
+"\n"
+"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."
 
-#: sha1-file.c:1867
+#: sequencer.c:4443 sequencer.c:4482
 #, 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"
+msgid "could not write file: '%s'"
+msgstr "không thể ghi tập tin: “%s”"
 
-#: sha1-file.c:1869
-msgid "unable to create temporary file"
-msgstr "không thể tạo tập tin tạm thời"
+#: sequencer.c:4498
+msgid "could not remove CHERRY_PICK_HEAD"
+msgstr "không thể xóa bỏ CHERRY_PICK_HEAD"
 
-#: sha1-file.c:1893
-msgid "unable to write loose object file"
-msgstr "không thể ghi tập tin đối tượng đã mất"
+#: sequencer.c:4505
+msgid "could not commit staged changes."
+msgstr "không thể chuyển giao các thay đổi đã đưa lên bệ phóng."
 
-#: sha1-file.c:1899
+#: sequencer.c:4621
 #, c-format
-msgid "unable to deflate new object %s (%d)"
-msgstr "không thể xả nén đối tượng mới %s (%d)"
+msgid "%s: can't cherry-pick a %s"
+msgstr "%s: không thể cherry-pick một %s"
 
-#: sha1-file.c:1903
+#: sequencer.c:4625
 #, c-format
-msgid "deflateEnd on object %s failed (%d)"
-msgstr "deflateEnd trên đối tượng %s gặp lỗi (%d)"
+msgid "%s: bad revision"
+msgstr "%s: điểm xét duyệt sai"
 
-#: sha1-file.c:1907
-#, 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"
+#: sequencer.c:4660
+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"
 
-#: sha1-file.c:1917 builtin/pack-objects.c:1086
-#, c-format
-msgid "failed utime() on %s"
-msgstr "gặp lỗi utime() trên “%s”"
+#: sequencer.c:5137
+msgid "make_script: unhandled options"
+msgstr "make_script: các tùy chọn được không xử lý"
 
-#: sha1-file.c:1994
-#, c-format
-msgid "cannot read object for %s"
-msgstr "không thể đọc đối tượng cho %s"
+#: sequencer.c:5140
+msgid "make_script: error preparing revisions"
+msgstr "make_script: lỗi chuẩn bị điểm hiệu chỉnh"
 
-#: sha1-file.c:2045
-msgid "corrupt commit"
-msgstr "lần chuyển giao sai hỏng"
+#: sequencer.c:5382 sequencer.c:5399
+msgid "nothing to do"
+msgstr "không có gì để làm"
 
-#: sha1-file.c:2053
-msgid "corrupt tag"
-msgstr "thẻ sai hỏng"
+#: sequencer.c:5418
+msgid "could not skip unnecessary pick commands"
+msgstr "không thể bỏ qua các lệnh cậy (pick) không cần thiết"
 
-#: sha1-file.c:2153
-#, c-format
-msgid "read error while indexing %s"
-msgstr "gặp lỗi đọc khi đánh mục lục %s"
+#: sequencer.c:5512
+msgid "the script was already rearranged."
+msgstr "văn lệnh đã sẵn được sắp đặt rồi."
 
-#: sha1-file.c:2156
+#: setup.c:133
 #, c-format
-msgid "short read while indexing %s"
-msgstr "không đọc ngắn khi đánh mục lục %s"
+msgid "'%s' is outside repository at '%s'"
+msgstr "“%s” ngoài một kho chứa tại “%s”"
 
-#: sha1-file.c:2229 sha1-file.c:2239
+#: setup.c:185
 #, 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"
+msgid ""
+"%s: no such path in the working tree.\n"
+"Use 'git <command> -- <path>...' to specify paths that do not exist locally."
+msgstr ""
+"%s: không có đường dẫn nào như thế ở trong cây làm việc.\n"
+"Dùng “git <lệnh> -- <đường/dẫn>…” để chỉ định đường dẫn mà nó không tồn tại "
+"một cách nội bộ."
 
-#: sha1-file.c:2245
+#: setup.c:198
 #, c-format
-msgid "%s: unsupported file type"
-msgstr "%s: kiểu tập tin không được hỗ trợ"
+msgid ""
+"ambiguous argument '%s': unknown revision or path not in the working tree.\n"
+"Use '--' to separate paths from revisions, like this:\n"
+"'git <command> [<revision>...] -- [<file>...]'"
+msgstr ""
+"tham số chưa rõ ràng “%s”: chưa biết điểm xem xét hay đường dẫn không trong "
+"cây làm việc.\n"
+"Dùng “--” để ngăn cách các đường dẫn khỏi điểm xem xét, như thế này:\n"
+"“git <lệnh> [<điểm xem xét>…] -- [<tập tin>…]”"
 
-#: sha1-file.c:2269
+#: setup.c:264
 #, c-format
-msgid "%s is not a valid object"
-msgstr "%s không phải là một đối tượng hợp lệ"
+msgid "option '%s' must come before non-option arguments"
+msgstr "tùy chọn “%s” phải trước các đối số đầu tiên không có tùy chọn"
 
-#: sha1-file.c:2271
+#: setup.c:283
 #, 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ệ"
+msgid ""
+"ambiguous argument '%s': both revision and filename\n"
+"Use '--' to separate paths from revisions, like this:\n"
+"'git <command> [<revision>...] -- [<file>...]'"
+msgstr ""
+"tham số chưa rõ ràng “%s”: cả điểm xem xét và tên tập tin.\n"
+"Dùng “--” để ngăn cách các đường dẫn khỏi điểm xem xét, như thế này:\n"
+"“git <lệnh> [<điểm xem xét>…] -- [<tập tin>…]”"
 
-#: sha1-file.c:2298 builtin/index-pack.c:192
-#, c-format
-msgid "unable to open %s"
-msgstr "không thể mở %s"
+#: setup.c:419
+msgid "unable to set up work tree using invalid config"
+msgstr "không thể cài đặt thư mục làm việc sử dụng cấu hình không hợp lệ"
 
-#: sha1-file.c:2488 sha1-file.c:2541
-#, c-format
-msgid "hash mismatch for %s (expected %s)"
-msgstr "mã băm không khớp cho %s (cần %s)"
+#: setup.c:423
+msgid "this operation must be run in a work tree"
+msgstr "thao tác này phải được thực hiện trong thư mục làm việc"
 
-#: sha1-file.c:2512
+#: setup.c:661
 #, c-format
-msgid "unable to mmap %s"
-msgstr "không thể mmap %s"
+msgid "Expected git repo version <= %d, found %d"
+msgstr "Cần phiên bản kho git <= %d, nhưng lại nhận được %d"
 
-#: sha1-file.c:2517
-#, c-format
-msgid "unable to unpack header of %s"
-msgstr "không thể giải gói phần đầu của “%s”"
+#: setup.c:669
+msgid "unknown repository extensions found:"
+msgstr "tìm thấy phần mở rộng kho chưa biết:"
 
-#: sha1-file.c:2523
-#, c-format
-msgid "unable to parse header of %s"
-msgstr "không thể phân tích phần đầu của “%s”"
+#: setup.c:681
+msgid "repo version is 0, but v1-only extensions found:"
+msgstr "phiên bản kho là 0, nhưng lại tìm thấy phần mở rộng chỉ v1:"
 
-#: sha1-file.c:2534
+#: setup.c:700
 #, c-format
-msgid "unable to unpack contents of %s"
-msgstr "không thể giải gói nội dung của “%s”"
+msgid "error opening '%s'"
+msgstr "gặp lỗi khi mở “%s”"
 
-#: sha1-name.c:486
+#: setup.c:702
 #, c-format
-msgid "short SHA1 %s is ambiguous"
-msgstr "tóm lược SHA1 %s chưa rõ ràng"
-
-#: sha1-name.c:497
-msgid "The candidates are:"
-msgstr "Các ứng cử là:"
+msgid "too large to be a .git file: '%s'"
+msgstr "tập tin .git là quá lớn: “%s”"
 
-#: sha1-name.c:796
-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"
-"may be created by mistake. For example,\n"
-"\n"
-"  git switch -c $br $(git rev-parse ...)\n"
-"\n"
-"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
-"examine these refs and maybe delete them. Turn this message off by\n"
-"running \"git config advice.objectNameWarning false\""
-msgstr ""
-"Git thường không bao giờ tạo tham chiếu mà nó kết thúc với 40 ký tự hex\n"
-"bởi vì nó sẽ bị bỏ qua khi bạn chỉ định 40-hex. Những tham chiếu này\n"
-"có lẽ được tạo ra bởi một sai sót nào đó. Ví dụ,\n"
-"\n"
-"  git switch -c $br $(git rev-parse …)\n"
-"\n"
-"với \"$br\" không hiểu lý do vì sao trống rỗng và một tham chiếu 40-hex được "
-"tạo ra.\n"
-"Xin hãy kiểm tra những tham chiếu này và có thể xóa chúng đi. Tắt lời nhắn "
-"này\n"
-"bằng cách chạy lệnh \"git config advice.objectNameWarning false\""
+#: setup.c:704
+#, c-format
+msgid "error reading %s"
+msgstr "gặp lỗi khi đọc %s"
 
-#: sha1-name.c:916
+#: setup.c:706
 #, c-format
-msgid "log for '%.*s' only goes back to %s"
-msgstr "nhật ký cho “%.*s” chỉ trở lại đến %s"
+msgid "invalid gitfile format: %s"
+msgstr "định dạng tập tin git không hợp lệ: %s"
 
-#: sha1-name.c:924
+#: setup.c:708
 #, c-format
-msgid "log for '%.*s' only has %d entries"
-msgstr "nhật ký cho “%.*s” chỉ có %d mục"
+msgid "no path in gitfile: %s"
+msgstr "không có đường dẫn trong tập tin git: %s"
 
-#: sha1-name.c:1702
+#: setup.c:710
 #, c-format
-msgid "path '%s' exists on disk, but not in '%.*s'"
-msgstr "đường dẫn “%s” có ở trên đĩa, nhưng không trong “%.*s”"
+msgid "not a git repository: %s"
+msgstr "không phải là kho git: %s"
 
-#: sha1-name.c:1708
+#: setup.c:812
 #, c-format
-msgid ""
-"path '%s' exists, but not '%s'\n"
-"hint: Did you mean '%.*s:%s' aka '%.*s:./%s'?"
-msgstr ""
-"đường dẫn “%s” tồn tại, nhưng không phải “%s”\n"
-"gợi ý: Có phải ý bạn là “%.*s:%s” aka “%.*s:./%s”?"
+msgid "'$%s' too big"
+msgstr "“$%s” quá lớn"
 
-#: sha1-name.c:1717
+#: setup.c:826
 #, c-format
-msgid "path '%s' does not exist in '%.*s'"
-msgstr "đường dẫn “%s” không tồn tại trong “%.*s”"
+msgid "not a git repository: '%s'"
+msgstr "không phải là kho git: “%s”"
 
-#: sha1-name.c:1745
+#: setup.c:855 setup.c:857 setup.c:888
 #, c-format
-msgid ""
-"path '%s' is in the index, but not at stage %d\n"
-"hint: Did you mean ':%d:%s'?"
-msgstr ""
-"đường dẫn “%s” nằm trong chỉ mục, nhưng không phải ở giai đoạn %d\n"
-"gợi ý: Có phải ý bạn là “:%d:%s”?"
+msgid "cannot chdir to '%s'"
+msgstr "không thể chdir (chuyển đổi thư mục) sang “%s”"
+
+#: setup.c:860 setup.c:916 setup.c:926 setup.c:965 setup.c:973
+msgid "cannot come back to cwd"
+msgstr "không thể quay lại cwd"
 
-#: sha1-name.c:1761
+#: setup.c:987
 #, c-format
-msgid ""
-"path '%s' is in the index, but not '%s'\n"
-"hint: Did you mean ':%d:%s' aka ':%d:./%s'?"
-msgstr ""
-"đường dẫn “%s” nằm trong chỉ mục, nhưng không phải “%s”\n"
-"gợi ý: Có phải ý bạn là “:% d:%s “ aka “:%d:./%s”?"
+msgid "failed to stat '%*s%s%s'"
+msgstr "gặp lỗi khi lấy thống kê về “%*s%s%s”"
+
+#: setup.c:1225
+msgid "Unable to read current working directory"
+msgstr "Không thể đọc thư mục làm việc hiện hành"
 
-#: sha1-name.c:1769
+#: setup.c:1234 setup.c:1240
 #, c-format
-msgid "path '%s' exists on disk, but not in the index"
-msgstr "đường dẫn “%s” tồn tại trên đĩa, nhưng không có trong chỉ mục"
+msgid "cannot change to '%s'"
+msgstr "không thể chuyển sang “%s”"
 
-#: sha1-name.c:1771
+#: setup.c:1245
 #, c-format
-msgid "path '%s' does not exist (neither on disk nor in the index)"
-msgstr "đường dẫn “%s” không tồn tại (không trên đĩa cũng không trong mục lục)"
+msgid "not a git repository (or any of the parent directories): %s"
+msgstr "không phải là kho git (hoặc bất kỳ thư mục cha mẹ nào): %s"
 
-#: sha1-name.c:1784
-msgid "relative path syntax can't be used outside working tree"
-msgstr "cú pháp đường dẫn tương đối không thể thể dùng ngoài cây làm việc"
+#: setup.c:1251
+#, c-format
+msgid ""
+"not a git repository (or any parent up to mount point %s)\n"
+"Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."
+msgstr ""
+"không phải là kho git (hay bất kỳ cha mẹ nào đến tận điểm gắn kết %s)\n"
+"Dừng tại biên của hệ thống tập tin (GIT_DISCOVERY_ACROSS_FILESYSTEM chưa "
+"đặt)."
 
-#: sha1-name.c:1922
+#: setup.c:1362
 #, c-format
-msgid "invalid object name '%.*s'."
-msgstr "“%.*s” không phải là tên đối tượng hợp lệ."
+msgid ""
+"problem with core.sharedRepository filemode value (0%.3o).\n"
+"The owner of files must always have read and write permissions."
+msgstr ""
+"gặp vấn đề với giá trị chế độ tập tin core.sharedRepository (0%.3o).\n"
+"người sở hữu tập tin phải luôn có quyền đọc và ghi."
+
+#: setup.c:1409
+msgid "open /dev/null or dup failed"
+msgstr "gặp lỗi khi mở “/dev/null” hay dup"
+
+#: setup.c:1424
+msgid "fork failed"
+msgstr "gặp lỗi khi rẽ nhánh tiến trình"
+
+#: setup.c:1429
+msgid "setsid failed"
+msgstr "setsid gặp lỗi"
 
 #. TRANSLATORS: IEC 80000-13:2008 gibibyte
 #: strbuf.c:848
@@ -8200,7 +8456,7 @@ msgid_plural "%u bytes/s"
 msgstr[0] "%u byte/giây"
 
 #: strbuf.c:1166 wrapper.c:199 wrapper.c:369 builtin/am.c:719
-#: builtin/rebase.c:864
+#: builtin/rebase.c:866
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "không thể mở “%s” để ghi"
@@ -8266,12 +8522,12 @@ 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:434
+#: submodule.c:435
 #, c-format
 msgid "bad --ignore-submodules argument: %s"
 msgstr "đối số --ignore-submodules sai: %s"
 
-#: submodule.c:816
+#: submodule.c:817
 #, c-format
 msgid ""
 "Submodule in commit %s at path: '%s' collides with a submodule named the "
@@ -8280,13 +8536,13 @@ msgstr ""
 "Mô-đun-con trong lần chuyển giao %s tại đường dẫn: “%s” va chạm với mô-đun-"
 "con cùng tên. Nên bỏ qua nó."
 
-#: submodule.c:919
+#: submodule.c:920
 #, 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:1004
+#: submodule.c:1005
 #, c-format
 msgid ""
 "Could not run 'git rev-list <commits> --not --remotes -n 1' command in "
@@ -8295,36 +8551,36 @@ msgstr ""
 "Không thể chạy lệnh “git rev-list <các lần chuyển giao> --not --remotes -n "
 "1” trong mô-đun-con “%s”"
 
-#: submodule.c:1127
+#: submodule.c:1128
 #, c-format
 msgid "process for submodule '%s' failed"
 msgstr "xử lý cho mô-đun-con “%s” gặp lỗi"
 
-#: submodule.c:1156 builtin/branch.c:680 builtin/submodule--helper.c:2469
+#: submodule.c:1157 builtin/branch.c:689 builtin/submodule--helper.c:2469
 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:1167
+#: submodule.c:1168
 #, c-format
 msgid "Pushing submodule '%s'\n"
 msgstr "Đẩy lên mô-đun-con “%s”\n"
 
-#: submodule.c:1170
+#: submodule.c:1171
 #, c-format
 msgid "Unable to push submodule '%s'\n"
 msgstr "Không thể đẩy lên mô-đun-con “%s”\n"
 
-#: submodule.c:1462
+#: submodule.c:1463
 #, c-format
 msgid "Fetching submodule %s%s\n"
 msgstr "Đang lấy về mô-đun-con %s%s\n"
 
-#: submodule.c:1492
+#: submodule.c:1497
 #, c-format
 msgid "Could not access submodule '%s'\n"
 msgstr "Không thể truy cập mô-đun-con “%s”\n"
 
-#: submodule.c:1646
+#: submodule.c:1652
 #, c-format
 msgid ""
 "Errors during submodule fetch:\n"
@@ -8333,61 +8589,61 @@ msgstr ""
 "Có lỗi khi lấy về mô-đun-con:\n"
 " “%s”"
 
-#: submodule.c:1671
+#: submodule.c:1677
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "không nhận ra “%s” là một kho git"
 
-#: submodule.c:1688
+#: submodule.c:1694
 #, c-format
 msgid "Could not run 'git status --porcelain=2' in submodule %s"
 msgstr "Không thể chạy “git status --porcelain=2” trong mô-đun-con “%s”"
 
-#: submodule.c:1729
+#: submodule.c:1735
 #, c-format
 msgid "'git status --porcelain=2' failed in submodule %s"
 msgstr "“git status --porcelain=2” gặp lỗi trong mô-đun-con “%s”"
 
-#: submodule.c:1804
+#: submodule.c:1810
 #, 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:1817
+#: submodule.c:1823
 #, 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:1832
+#: submodule.c:1838
 #, 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:1859 submodule.c:2169
+#: submodule.c:1865 submodule.c:2175
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "không thể đệ quy vào trong mô-đun-con “%s”"
 
-#: submodule.c:1880
+#: submodule.c:1886
 msgid "could not reset submodule index"
 msgstr "không thể đặt lại mục lục của mô-đun-con"
 
-#: submodule.c:1922
+#: submodule.c:1928
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "mô-đun-con “%s” có mục lục còn bẩn"
 
-#: submodule.c:1974
+#: submodule.c:1980
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr "Mô-đun-con “%s” không thể được cập nhật."
 
-#: submodule.c:2042
+#: submodule.c:2048
 #, c-format
 msgid "submodule git dir '%s' is inside git dir '%.*s'"
 msgstr "thư mục git mô đun con “%s” là bên trong git DIR “%.*s”"
 
-#: submodule.c:2063
+#: submodule.c:2069
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
@@ -8395,17 +8651,17 @@ msgstr ""
 "relocate_gitdir cho mô-đun-con “%s” với nhiều hơn một cây làm việc là chưa "
 "được hỗ trợ"
 
-#: submodule.c:2075 submodule.c:2134
+#: submodule.c:2081 submodule.c:2140
 #, 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:2079
+#: submodule.c:2085
 #, c-format
 msgid "refusing to move '%s' into an existing git dir"
 msgstr "từ chối di chuyển “%s” vào trong một thư mục git sẵn có"
 
-#: submodule.c:2086
+#: submodule.c:2092
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -8416,11 +8672,11 @@ msgstr ""
 "“%s” sang\n"
 "“%s”\n"
 
-#: submodule.c:2214
+#: submodule.c:2220
 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:2254
+#: submodule.c:2260
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree trả về mã không như mong đợi %d"
@@ -8451,7 +8707,7 @@ msgstr "thẻ thừa trống rỗng trong phần thừa “%.*s”"
 msgid "could not read input file '%s'"
 msgstr "không đọc được tập tin đầu vào “%s”"
 
-#: trailer.c:751
+#: trailer.c:751 builtin/mktag.c:91
 msgid "could not read from stdin"
 msgstr "không thể đọc từ đầu vào tiêu chuẩn"
 
@@ -8523,7 +8779,7 @@ msgstr "không thể chạy fast-import"
 msgid "error while running fast-import"
 msgstr "gặp lỗi trong khi chạy fast-import"
 
-#: transport-helper.c:549 transport-helper.c:1236
+#: transport-helper.c:549 transport-helper.c:1237
 #, c-format
 msgid "could not read ref %s"
 msgstr "không thể đọc tham chiếu %s"
@@ -8541,7 +8797,7 @@ msgstr "giao thức này không hỗ trợ cài đặt đường dẫn dịch v
 msgid "invalid remote service path"
 msgstr "đường dẫn dịch vụ máy chủ không hợp lệ"
 
-#: transport-helper.c:661 transport.c:1446
+#: transport-helper.c:661 transport.c:1447
 msgid "operation not supported by protocol"
 msgstr "thao tác không được gia thức hỗ trợ"
 
@@ -8621,52 +8877,52 @@ msgstr ""
 "cả.\n"
 "Tuy nhiên bạn nên chỉ định một nhánh.\n"
 
-#: transport-helper.c:1213
+#: transport-helper.c:1214
 #, c-format
 msgid "unsupported object format '%s'"
 msgstr "không hỗ trợ định dạng đối tượng “%s”"
 
-#: transport-helper.c:1222
+#: transport-helper.c:1223
 #, 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:1374
+#: transport-helper.c:1375
 #, c-format
 msgid "read(%s) failed"
 msgstr "read(%s) gặp lỗi"
 
-#: transport-helper.c:1401
+#: transport-helper.c:1402
 #, c-format
 msgid "write(%s) failed"
 msgstr "write(%s) gặp lỗi"
 
-#: transport-helper.c:1450
+#: transport-helper.c:1451
 #, c-format
 msgid "%s thread failed"
 msgstr "tuyến trình %s gặp lỗi"
 
-#: transport-helper.c:1454
+#: transport-helper.c:1455
 #, 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:1473 transport-helper.c:1477
+#: transport-helper.c:1474 transport-helper.c:1478
 #, 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:1514
+#: transport-helper.c:1515
 #, c-format
 msgid "%s process failed to wait"
 msgstr "xử lý %s gặp lỗi khi đợi"
 
-#: transport-helper.c:1518
+#: transport-helper.c:1519
 #, c-format
 msgid "%s process failed"
 msgstr "xử lý %s gặp lỗi"
 
-#: transport-helper.c:1536 transport-helper.c:1545
+#: transport-helper.c:1537 transport-helper.c:1546
 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"
 
@@ -8755,23 +9011,23 @@ msgstr ""
 msgid "Aborting."
 msgstr "Bãi bỏ."
 
-#: transport.c:1315
+#: transport.c:1316
 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"
 
-#: tree-walk.c:32
+#: tree-walk.c:33
 msgid "too-short tree object"
 msgstr "đối tượng cây quá ngắn"
 
-#: tree-walk.c:38
+#: tree-walk.c:39
 msgid "malformed mode in tree entry"
 msgstr "chế độ dị hình trong đề mục cây"
 
-#: tree-walk.c:42
+#: 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:117
+#: tree-walk.c:118
 msgid "too-short tree file"
 msgstr "tập tin cây quá ngắn"
 
@@ -9045,7 +9301,7 @@ msgstr ""
 msgid "Updating index flags"
 msgstr "Đang cập nhật các cờ mục lục"
 
-#: upload-pack.c:1550
+#: upload-pack.c:1543
 msgid "expected flush after fetch arguments"
 msgstr "cần đẩy dữ liệu lên đĩa sau các tham số của lệnh fetch"
 
@@ -9082,73 +9338,103 @@ msgstr "đoạn đường dẫn “..” không hợp lệ"
 msgid "Fetching objects"
 msgstr "Đang lấy về các đối tượng"
 
-#: worktree.c:236 builtin/am.c:2103
+#: worktree.c:238 builtin/am.c:2103
 #, c-format
 msgid "failed to read '%s'"
 msgstr "gặp lỗi khi đọc “%s”"
 
-#: worktree.c:283
+#: worktree.c:304
 #, c-format
 msgid "'%s' at main working tree is not the repository directory"
 msgstr "“%s” tại cây làm việc chình không phải là thư mục kho"
 
-#: worktree.c:294
+#: worktree.c:315
 #, c-format
 msgid "'%s' file does not contain absolute path to the working tree location"
 msgstr ""
 "tập tin “%s” không chứa đường dẫn tuyệt đối đến vị trí cây làm việc hiện"
 
-#: worktree.c:306
+#: worktree.c:327
 #, c-format
 msgid "'%s' does not exist"
 msgstr "\"%s\" không tồn tại"
 
-#: worktree.c:312
+#: worktree.c:333
 #, c-format
 msgid "'%s' is not a .git file, error code %d"
 msgstr "“%s” không phải là tập tin .git, mã lỗi %d"
 
-#: worktree.c:321
+#: worktree.c:342
 #, c-format
 msgid "'%s' does not point back to '%s'"
 msgstr "“%s” không chỉ ngược đến “%s”"
 
-#: worktree.c:587
+#: worktree.c:608
 msgid "not a directory"
 msgstr "không phải thư mục"
 
-#: worktree.c:596
+#: worktree.c:617
 msgid ".git is not a file"
 msgstr ".git không phải là một tập tin"
 
-#: worktree.c:598
+#: worktree.c:619
 msgid ".git file broken"
 msgstr "tệp .git bị hỏng"
 
-#: worktree.c:600
+#: worktree.c:621
 msgid ".git file incorrect"
 msgstr "tập tin .git không chính xác"
 
-#: worktree.c:670
+#: worktree.c:727
 msgid "not a valid path"
 msgstr "không phải là một đường dẫn hợp lệ"
 
-#: worktree.c:676
+#: worktree.c:733
 msgid "unable to locate repository; .git is not a file"
 msgstr "không thể phân bổ kho chứa; .git không phải là một tập tin"
 
-#: worktree.c:679
+#: worktree.c:737
+msgid "unable to locate repository; .git file does not reference a repository"
+msgstr "không thể phân bổ kho chứa; tập tin .git tham chiếu đến một kho"
+
+#: worktree.c:741
 msgid "unable to locate repository; .git file broken"
 msgstr "không thể phân bổ kho chứa; tập tin .git bị hỏng"
 
-#: worktree.c:685
+#: worktree.c:747
 msgid "gitdir unreadable"
 msgstr "gitdir không thể đọc được"
 
-#: worktree.c:689
+#: worktree.c:751
 msgid "gitdir incorrect"
 msgstr "gitdir không chính xác"
 
+#: worktree.c:776
+msgid "not a valid directory"
+msgstr "không phải thư mục hợp lệ"
+
+#: worktree.c:782
+msgid "gitdir file does not exist"
+msgstr "tập tin gitdir không tồn tại"
+
+#: worktree.c:787 worktree.c:796
+#, c-format
+msgid "unable to read gitdir file (%s)"
+msgstr "không thể đọc tập tin gitdir (%s)"
+
+#: worktree.c:806
+#, c-format
+msgid "short read (expected %<PRIuMAX> bytes, read %<PRIuMAX>)"
+msgstr "đọc ngắn (cần %<PRIuMAX> byte, đọc %<PRIuMAX>)"
+
+#: worktree.c:814
+msgid "invalid gitdir file"
+msgstr "tập tin gitdir (thư mục git) không hợp lệ"
+
+#: worktree.c:822
+msgid "gitdir file points to non-existent location"
+msgstr "tập tin gitdir chỉ đến vị trí không tồn tại"
+
 #: wrapper.c:197 wrapper.c:367
 #, c-format
 msgid "could not open '%s' for reading and writing"
@@ -9196,11 +9482,11 @@ msgstr ""
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (dùng \"git rm <tập-tin>…\" để đánh dấu là cần giải quyết)"
 
-#: wt-status.c:211 wt-status.c:1070
+#: wt-status.c:211 wt-status.c:1072
 msgid "Changes to be committed:"
 msgstr "Những thay đổi sẽ được chuyển giao:"
 
-#: wt-status.c:234 wt-status.c:1079
+#: wt-status.c:234 wt-status.c:1081
 msgid "Changes not staged for commit:"
 msgstr "Các thay đổi chưa được đặt lên bệ phóng để chuyển giao:"
 
@@ -9304,21 +9590,21 @@ msgstr "nội dung bị sửa đổi, "
 msgid "untracked content, "
 msgstr "nội dung chưa được theo dõi, "
 
-#: wt-status.c:903
+#: wt-status.c:905
 #, c-format
 msgid "Your stash currently has %d entry"
 msgid_plural "Your stash currently has %d entries"
 msgstr[0] "Bạn hiện nay ở trong phần cất đi đang có %d mục"
 
-#: wt-status.c:934
+#: wt-status.c:936
 msgid "Submodules changed but not updated:"
 msgstr "Những mô-đun-con đã bị thay đổi nhưng chưa được cập nhật:"
 
-#: wt-status.c:936
+#: wt-status.c:938
 msgid "Submodule changes to be committed:"
 msgstr "Những mô-đun-con thay đổi đã được chuyển giao:"
 
-#: wt-status.c:1018
+#: wt-status.c:1020
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
@@ -9326,7 +9612,7 @@ msgstr ""
 "Không sửa hay xóa bỏ đường ở trên.\n"
 "Mọi thứ phía dưới sẽ được xóa bỏ."
 
-#: wt-status.c:1110
+#: wt-status.c:1112
 #, c-format
 msgid ""
 "\n"
@@ -9337,109 +9623,109 @@ msgstr ""
 "Nó cần %.2f giây để tính toán giá trị của trước/sau của nhánh.\n"
 "Bạn có thể dùng “--no-ahead-behind” tránh phải điều này.\n"
 
-#: wt-status.c:1140
+#: wt-status.c:1142
 msgid "You have unmerged paths."
 msgstr "Bạn có những đường dẫn chưa được hòa trộn."
 
-#: wt-status.c:1143
+#: wt-status.c:1145
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (sửa các xung đột rồi chạy \"git commit\")"
 
-#: wt-status.c:1145
+#: wt-status.c:1147
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (dùng \"git merge --abort\" để bãi bỏ việc hòa trộn)"
 
-#: wt-status.c:1149
+#: wt-status.c:1151
 msgid "All conflicts fixed but you are still merging."
 msgstr "Tất cả các xung đột đã được giải quyết nhưng bạn vẫn đang hòa trộn."
 
-#: wt-status.c:1152
+#: wt-status.c:1154
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (dùng \"git commit\" để hoàn tất việc hòa trộn)"
 
-#: wt-status.c:1161
+#: wt-status.c:1163
 msgid "You are in the middle of an am session."
 msgstr "Bạn đang ở giữa của một phiên “am”."
 
-#: wt-status.c:1164
+#: wt-status.c:1166
 msgid "The current patch is empty."
 msgstr "Miếng vá hiện tại bị trống rỗng."
 
-#: wt-status.c:1168
+#: wt-status.c:1170
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (sửa các xung đột và sau đó chạy lệnh \"git am --continue\")"
 
-#: wt-status.c:1170
+#: wt-status.c:1172
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (dùng \"git am --skip\" để bỏ qua miếng vá này)"
 
-#: wt-status.c:1172
+#: wt-status.c:1174
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (dùng \"git am --abort\" để phục hồi lại nhánh nguyên thủy)"
 
-#: wt-status.c:1305
+#: wt-status.c:1307
 msgid "git-rebase-todo is missing."
 msgstr "thiếu git-rebase-todo."
 
-#: wt-status.c:1307
+#: wt-status.c:1309
 msgid "No commands done."
 msgstr "Không thực hiện lệnh nào."
 
-#: wt-status.c:1310
+#: wt-status.c:1312
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "Lệnh thực hiện cuối (%d lệnh được thực thi):"
 
-#: wt-status.c:1321
+#: wt-status.c:1323
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (xem thêm trong %s)"
 
-#: wt-status.c:1326
+#: wt-status.c:1328
 msgid "No commands remaining."
 msgstr "Không có lệnh nào còn lại."
 
-#: wt-status.c:1329
+#: wt-status.c:1331
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 msgstr[0] "Lệnh cần làm kế tiếp (%d lệnh còn lại):"
 
-#: wt-status.c:1337
+#: wt-status.c:1339
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (dùng lệnh \"git rebase --edit-todo\" để xem và sửa)"
 
-#: wt-status.c:1349
+#: wt-status.c:1351
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "Bạn hiện nay đang thực hiện việc “rebase” nhánh “%s” trên “%s”."
 
-#: wt-status.c:1354
+#: wt-status.c:1356
 msgid "You are currently rebasing."
 msgstr "Bạn hiện nay đang thực hiện việc “rebase” (cải tổ)."
 
-#: wt-status.c:1367
+#: wt-status.c:1369
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr ""
 "  (sửa các xung đột và sau đó chạy lệnh “cải tổ” \"git rebase --continue\")"
 
-#: wt-status.c:1369
+#: wt-status.c:1371
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (dùng lệnh “cải tổ” \"git rebase --skip\" để bỏ qua lần vá này)"
 
-#: wt-status.c:1371
+#: wt-status.c:1373
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr ""
 "  (dùng lệnh “cải tổ” \"git rebase --abort\" để check-out nhánh nguyên thủy)"
 
-#: wt-status.c:1378
+#: wt-status.c:1380
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr ""
 "  (khi tất cả các xung đột đã sửa xong: chạy lệnh “cải tổ” \"git rebase --"
 "continue\")"
 
-#: wt-status.c:1382
+#: wt-status.c:1384
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -9447,157 +9733,165 @@ msgstr ""
 "Bạn hiện nay đang thực hiện việc chia tách một lần chuyển giao trong khi "
 "đang “rebase” nhánh “%s” trên “%s”."
 
-#: wt-status.c:1387
+#: wt-status.c:1389
 msgid "You are currently splitting a commit during a rebase."
 msgstr ""
 "Bạn hiện tại đang cắt đôi một lần chuyển giao trong khi đang thực hiện việc "
 "rebase."
 
-#: wt-status.c:1390
+#: wt-status.c:1392
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr ""
 "  (Một khi thư mục làm việc của bạn đã gọn gàng, chạy lệnh “cải tổ” \"git "
 "rebase --continue\")"
 
-#: wt-status.c:1394
+#: wt-status.c:1396
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 "Bạn hiện nay đang thực hiện việc sửa chữa một lần chuyển giao trong khi đang "
 "rebase nhánh “%s” trên “%s”."
 
-#: wt-status.c:1399
+#: wt-status.c:1401
 msgid "You are currently editing a commit during a rebase."
 msgstr "Bạn hiện đang sửa một lần chuyển giao trong khi bạn thực hiện rebase."
 
-#: wt-status.c:1402
+#: wt-status.c:1404
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (dùng \"git commit --amend\" để “tu bổ” lần chuyển giao hiện tại)"
 
-#: wt-status.c:1404
+#: wt-status.c:1406
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 "  (chạy lệnh “cải tổ” \"git rebase --continue\" một khi bạn cảm thấy hài "
 "lòng về những thay đổi của mình)"
 
-#: wt-status.c:1415
+#: wt-status.c:1417
 msgid "Cherry-pick currently in progress."
 msgstr "Cherry-pick hiện tại đang được thực hiện."
 
-#: wt-status.c:1418
+#: wt-status.c:1420
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "Bạn hiện nay đang thực hiện việc cherry-pick lần chuyển giao %s."
 
-#: wt-status.c:1425
+#: wt-status.c:1427
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr ""
 "  (sửa các xung đột và sau đó chạy lệnh \"git cherry-pick --continue\")"
 
-#: wt-status.c:1428
+#: wt-status.c:1430
 msgid "  (run \"git cherry-pick --continue\" to continue)"
 msgstr "  (chạy lệnh \"git cherry-pick --continue\" để tiếp tục)"
 
-#: wt-status.c:1431
+#: wt-status.c:1433
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr ""
 "  (khi tất cả các xung đột đã sửa xong: chạy lệnh \"git cherry-pick --"
 "continue\")"
 
-#: wt-status.c:1433
+#: wt-status.c:1435
 msgid "  (use \"git cherry-pick --skip\" to skip this patch)"
 msgstr "  (dùng \"git cherry-pick --skip\" để bỏ qua miếng vá này)"
 
-#: wt-status.c:1435
+#: wt-status.c:1437
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (dùng \"git cherry-pick --abort\" để hủy bỏ thao tác cherry-pick)"
 
-#: wt-status.c:1445
+#: wt-status.c:1447
 msgid "Revert currently in progress."
 msgstr "Hoàn nguyên hiện tại đang thực hiện."
 
-#: wt-status.c:1448
+#: wt-status.c:1450
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Bạn hiện nay đang thực hiện thao tác hoàn nguyên lần chuyển giao “%s”."
 
-#: wt-status.c:1454
+#: wt-status.c:1456
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (sửa các xung đột và sau đó chạy lệnh \"git revert --continue\")"
 
-#: wt-status.c:1457
+#: wt-status.c:1459
 msgid "  (run \"git revert --continue\" to continue)"
 msgstr "  (chạy lệnh \"git revert --continue\" để tiếp tục)"
 
-#: wt-status.c:1460
+#: wt-status.c:1462
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr ""
 "  (khi tất cả các xung đột đã sửa xong: chạy lệnh \"git revert --continue\")"
 
-#: wt-status.c:1462
+#: wt-status.c:1464
 msgid "  (use \"git revert --skip\" to skip this patch)"
 msgstr "  (dùng lệnh \"git revert --skip\" để bỏ qua lần vá này)"
 
-#: wt-status.c:1464
+#: wt-status.c:1466
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (dùng \"git revert --abort\" để hủy bỏ thao tác hoàn nguyên)"
 
-#: wt-status.c:1474
+#: wt-status.c:1476
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr ""
 "Bạn hiện nay đang thực hiện thao tác di chuyển nửa bước (bisect), bắt đầu từ "
 "nhánh “%s”."
 
-#: wt-status.c:1478
+#: wt-status.c:1480
 msgid "You are currently bisecting."
 msgstr "Bạn hiện tại đang thực hiện việc bisect (di chuyển nửa bước)."
 
-#: wt-status.c:1481
+#: wt-status.c:1483
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (dùng \"git bisect reset\" để quay trở lại nhánh nguyên thủy)"
 
-#: wt-status.c:1492
+#: wt-status.c:1494
 #, c-format
 msgid "You are in a sparse checkout with %d%% of tracked files present."
 msgstr ""
 "Bạn đang ở trong lần lấy ra sparser %d%% của các tập tin được theo dõi hiện "
 "tại."
 
-#: wt-status.c:1731
+#: wt-status.c:1733
 msgid "On branch "
 msgstr "Trên nhánh "
 
-#: wt-status.c:1738
+#: wt-status.c:1740
 msgid "interactive rebase in progress; onto "
 msgstr "rebase ở chế độ tương tác đang được thực hiện; lên trên "
 
-#: wt-status.c:1740
+#: wt-status.c:1742
 msgid "rebase in progress; onto "
 msgstr "rebase đang được thực hiện: lên trên "
 
-#: wt-status.c:1750
+#: wt-status.c:1747
+msgid "HEAD detached at "
+msgstr "HEAD được tách rời tại "
+
+#: wt-status.c:1749
+msgid "HEAD detached from "
+msgstr "HEAD được tách rời từ "
+
+#: wt-status.c:1752
 msgid "Not currently on any branch."
 msgstr "Hiện tại chẳng ở nhánh nào cả."
 
-#: wt-status.c:1767
+#: wt-status.c:1769
 msgid "Initial commit"
 msgstr "Lần chuyển giao khởi tạo"
 
-#: wt-status.c:1768
+#: wt-status.c:1770
 msgid "No commits yet"
 msgstr "Vẫn chưa chuyển giao"
 
-#: wt-status.c:1782
+#: wt-status.c:1784
 msgid "Untracked files"
 msgstr "Những tập tin chưa được theo dõi"
 
-#: wt-status.c:1784
+#: wt-status.c:1786
 msgid "Ignored files"
 msgstr "Những tập tin bị lờ đi"
 
-#: wt-status.c:1788
+#: wt-status.c:1790
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -9609,32 +9903,32 @@ msgstr ""
 "có lẽ làm nó nhanh hơn, nhưng bạn phải cẩn thận đừng quên mình phải\n"
 "tự thêm các tập tin mới (xem “git help status”.."
 
-#: wt-status.c:1794
+#: wt-status.c:1796
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Những tập tin chưa được theo dõi không được liệt kê ra %s"
 
-#: wt-status.c:1796
+#: wt-status.c:1798
 msgid " (use -u option to show untracked files)"
 msgstr " (dùng tùy chọn -u để hiển thị các tập tin chưa được theo dõi)"
 
-#: wt-status.c:1802
+#: wt-status.c:1804
 msgid "No changes"
 msgstr "Không có thay đổi nào"
 
-#: wt-status.c:1807
+#: wt-status.c:1809
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
 "không có thay đổi nào được thêm vào để chuyển giao (dùng \"git add\" và/hoặc "
 "\"git commit -a\")\n"
 
-#: wt-status.c:1811
+#: wt-status.c:1813
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "không có thay đổi nào được thêm vào để chuyển giao\n"
 
-#: wt-status.c:1815
+#: wt-status.c:1817
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -9643,68 +9937,68 @@ msgstr ""
 "không có gì được thêm vào lần chuyển giao nhưng có những tập tin chưa được "
 "theo dõi hiện diện (dùng \"git add\" để đưa vào theo dõi)\n"
 
-#: wt-status.c:1819
+#: wt-status.c:1821
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr ""
 "không có gì được thêm vào lần chuyển giao nhưng có những tập tin chưa được "
 "theo dõi hiện diện\n"
 
-#: wt-status.c:1823
+#: wt-status.c:1825
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 "không có gì để chuyển giao (tạo/sao-chép các tập tin và dùng \"git add\" để "
 "đưa vào theo dõi)\n"
 
-#: wt-status.c:1827 wt-status.c:1833
+#: wt-status.c:1829 wt-status.c:1835
 #, c-format
 msgid "nothing to commit\n"
 msgstr "không có gì để chuyển giao\n"
 
-#: wt-status.c:1830
+#: wt-status.c:1832
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr ""
 "không có gì để chuyển giao (dùng -u xem các tập tin chưa được theo dõi)\n"
 
-#: wt-status.c:1835
+#: wt-status.c:1837
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "không có gì để chuyển giao, thư mục làm việc sạch sẽ\n"
 
-#: wt-status.c:1940
+#: wt-status.c:1942
 msgid "No commits yet on "
 msgstr "Vẫn không thực hiện lệnh chuyển giao nào "
 
-#: wt-status.c:1944
+#: wt-status.c:1946
 msgid "HEAD (no branch)"
 msgstr "HEAD (không nhánh)"
 
-#: wt-status.c:1975
+#: wt-status.c:1977
 msgid "different"
 msgstr "khác"
 
-#: wt-status.c:1977 wt-status.c:1985
+#: wt-status.c:1979 wt-status.c:1987
 msgid "behind "
 msgstr "đằng sau "
 
-#: wt-status.c:1980 wt-status.c:1983
+#: wt-status.c:1982 wt-status.c:1985
 msgid "ahead "
 msgstr "phía trước "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2505
+#: wt-status.c:2507
 #, 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:2511
+#: wt-status.c:2513
 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:2513
+#: wt-status.c:2515
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr ""
@@ -9719,133 +10013,138 @@ msgstr "gặp lỗi khi bỏ liên kết (unlink) “%s”"
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [<các tùy chọn>] [--]  <pathspec>…"
 
-#: builtin/add.c:88
+#: builtin/add.c:58
+#, c-format
+msgid "cannot chmod %cx '%s'"
+msgstr "không thể chmod %cx '%s'"
+
+#: builtin/add.c:96
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "trạng thái lệnh diff không như mong đợi %c"
 
-#: builtin/add.c:93 builtin/commit.c:285
+#: builtin/add.c:101 builtin/commit.c:285
 msgid "updating files failed"
 msgstr "cập nhật tập tin gặp lỗi"
 
-#: builtin/add.c:103
+#: builtin/add.c:111
 #, c-format
 msgid "remove '%s'\n"
 msgstr "gỡ bỏ “%s”\n"
 
-#: builtin/add.c:178
+#: builtin/add.c:186
 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:272 builtin/rev-parse.c:908
+#: builtin/add.c:280 builtin/rev-parse.c:991
 msgid "Could not read the index"
 msgstr "Không thể đọc bảng mục lục"
 
-#: builtin/add.c:283
+#: builtin/add.c:291
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr "Không thể mở “%s” để ghi."
 
-#: builtin/add.c:287
+#: builtin/add.c:295
 msgid "Could not write patch"
 msgstr "Không thể ghi ra miếng vá"
 
-#: builtin/add.c:290
+#: builtin/add.c:298
 msgid "editing patch failed"
 msgstr "gặp lỗi khi sửa miếng vá"
 
-#: builtin/add.c:293
+#: builtin/add.c:301
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "Không thể lấy thông tin thống kê về “%s”"
 
-#: builtin/add.c:295
+#: builtin/add.c:303
 msgid "Empty patch. Aborted."
 msgstr "Miếng vá trống rỗng. Nên bỏ qua."
 
-#: builtin/add.c:300
+#: builtin/add.c:308
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "Không thể áp dụng miếng vá “%s”"
 
-#: builtin/add.c:308
+#: builtin/add.c:316
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr ""
 "Các đường dẫn theo sau đây sẽ bị lờ đi bởi một trong các tập tin .gitignore "
 "của bạn:\n"
 
-#: builtin/add.c:328 builtin/clean.c:904 builtin/fetch.c:166 builtin/mv.c:124
+#: builtin/add.c:336 builtin/clean.c:904 builtin/fetch.c:169 builtin/mv.c:124
 #: builtin/prune-packed.c:14 builtin/pull.c:204 builtin/push.c:559
 #: builtin/remote.c:1427 builtin/rm.c:242 builtin/send-pack.c:190
 msgid "dry run"
 msgstr "chạy thử"
 
-#: builtin/add.c:331
+#: builtin/add.c:339
 msgid "interactive picking"
 msgstr "sửa bằng cách tương tác"
 
-#: builtin/add.c:332 builtin/checkout.c:1547 builtin/reset.c:308
+#: builtin/add.c:340 builtin/checkout.c:1546 builtin/reset.c:308
 msgid "select hunks interactively"
 msgstr "chọn “hunks” theo kiểu tương tác"
 
-#: builtin/add.c:333
+#: builtin/add.c:341
 msgid "edit current diff and apply"
 msgstr "sửa diff hiện nay và áp dụng nó"
 
-#: builtin/add.c:334
+#: builtin/add.c:342
 msgid "allow adding otherwise ignored files"
 msgstr "cho phép thêm các tập tin bị bỏ qua khác"
 
-#: builtin/add.c:335
+#: builtin/add.c:343
 msgid "update tracked files"
 msgstr "cập nhật các tập tin được theo dõi"
 
-#: builtin/add.c:336
+#: builtin/add.c:344
 msgid "renormalize EOL of tracked files (implies -u)"
 msgstr "thường hóa lại EOL của các tập tin được theo dõi (ý là -u)"
 
-#: builtin/add.c:337
+#: builtin/add.c:345
 msgid "record only the fact that the path will be added later"
 msgstr "chỉ ghi lại sự việc mà đường dẫn sẽ được thêm vào sau"
 
-#: builtin/add.c:338
+#: builtin/add.c:346
 msgid "add changes from all tracked and untracked files"
 msgstr ""
 "thêm các thay đổi từ tất cả các tập tin có cũng như không được theo dõi dấu "
 "vết"
 
-#: builtin/add.c:341
+#: builtin/add.c:349
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr ""
 "lờ đi các đường dẫn bị gỡ bỏ trong cây thư mục làm việc (giống với --no-all)"
 
-#: builtin/add.c:343
+#: builtin/add.c:351
 msgid "don't add, only refresh the index"
 msgstr "không thêm, chỉ làm tươi mới bảng mục lục"
 
-#: builtin/add.c:344
+#: builtin/add.c:352
 msgid "just skip files which cannot be added because of errors"
 msgstr "chie bỏ qua những tập tin mà nó không thể được thêm vào bởi vì gặp lỗi"
 
-#: builtin/add.c:345
+#: builtin/add.c:353
 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:347 builtin/update-index.c:1004
+#: builtin/add.c:355 builtin/update-index.c:1004
 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:349
+#: builtin/add.c:357
 msgid "warn when adding an embedded repository"
 msgstr "cảnh báo khi thêm một kho nhúng"
 
-#: builtin/add.c:351
+#: builtin/add.c:359
 msgid "backend for `git stash -p`"
 msgstr "ứng dụng chạy phía sau cho “git stash -p”"
 
-#: builtin/add.c:369
+#: builtin/add.c:377
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -9876,12 +10175,12 @@ msgstr ""
 "\n"
 "Xem \"git help submodule\" để biết thêm chi tiết."
 
-#: builtin/add.c:397
+#: builtin/add.c:405
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "thêm cần một kho git nhúng: %s"
 
-#: builtin/add.c:416
+#: builtin/add.c:424
 msgid ""
 "Use -f if you really want to add them.\n"
 "Turn this message off by running\n"
@@ -9891,47 +10190,47 @@ msgstr ""
 "Tắt thông báo này bằng cách chạy lệnh\n"
 "\"git config advice.addIgnoredFile false\""
 
-#: builtin/add.c:425
+#: builtin/add.c:433
 msgid "adding files failed"
 msgstr "thêm tập tin gặp lỗi"
 
-#: builtin/add.c:453 builtin/commit.c:345
+#: builtin/add.c:461 builtin/commit.c:345
 msgid "--pathspec-from-file is incompatible with --interactive/--patch"
 msgstr "--pathspec-from-file xung khắc với --interactive/--patch"
 
-#: builtin/add.c:470
+#: builtin/add.c:478
 msgid "--pathspec-from-file is incompatible with --edit"
 msgstr "--pathspec-from-file xung khắc với --edit"
 
-#: builtin/add.c:482
+#: builtin/add.c:490
 msgid "-A and -u are mutually incompatible"
 msgstr "-A và -u xung khắc nhau"
 
-#: builtin/add.c:485
+#: builtin/add.c:493
 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:489
+#: builtin/add.c:497
 #, 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:507 builtin/checkout.c:1715 builtin/commit.c:351
-#: builtin/reset.c:328 builtin/rm.c:272 builtin/stash.c:1502
+#: builtin/add.c:515 builtin/checkout.c:1714 builtin/commit.c:351
+#: builtin/reset.c:328 builtin/rm.c:272 builtin/stash.c:1569
 msgid "--pathspec-from-file is incompatible with pathspec arguments"
 msgstr "--pathspec-from-file xung khắc với các tham số đặc tả đường dẫn"
 
-#: builtin/add.c:514 builtin/checkout.c:1727 builtin/commit.c:357
-#: builtin/reset.c:334 builtin/rm.c:278 builtin/stash.c:1508
+#: builtin/add.c:522 builtin/checkout.c:1726 builtin/commit.c:357
+#: builtin/reset.c:334 builtin/rm.c:278 builtin/stash.c:1575
 msgid "--pathspec-file-nul requires --pathspec-from-file"
 msgstr "--pathspec-file-nul cần --pathspec-from-file"
 
-#: builtin/add.c:518
+#: builtin/add.c:526
 #, 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:520
+#: builtin/add.c:528
 msgid ""
 "Maybe you wanted to say 'git add .'?\n"
 "Turn this message off by running\n"
@@ -10188,7 +10487,7 @@ 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:2225 builtin/init-db.c:560 builtin/prune-packed.c:16
-#: builtin/repack.c:335 builtin/stash.c:815
+#: builtin/repack.c:334 builtin/stash.c:882
 msgid "be quiet"
 msgstr "im lặng"
 
@@ -10232,17 +10531,17 @@ msgid "pass it through git-apply"
 msgstr "chuyển nó qua git-apply"
 
 #: builtin/am.c:2263 builtin/commit.c:1395 builtin/fmt-merge-msg.c:17
-#: builtin/fmt-merge-msg.c:20 builtin/grep.c:903 builtin/merge.c:260
+#: builtin/fmt-merge-msg.c:20 builtin/grep.c:904 builtin/merge.c:261
 #: builtin/pull.c:141 builtin/pull.c:200 builtin/pull.c:217
-#: builtin/rebase.c:1341 builtin/repack.c:346 builtin/repack.c:350
-#: builtin/repack.c:352 builtin/show-branch.c:650 builtin/show-ref.c:172
-#: builtin/tag.c:404 parse-options.h:154 parse-options.h:175
+#: builtin/rebase.c:1347 builtin/repack.c:345 builtin/repack.c:349
+#: builtin/repack.c:351 builtin/show-branch.c:650 builtin/show-ref.c:172
+#: builtin/tag.c:436 parse-options.h:154 parse-options.h:175
 #: parse-options.h:316
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2269 builtin/branch.c:661 builtin/bugreport.c:136
-#: builtin/for-each-ref.c:38 builtin/replace.c:556 builtin/tag.c:438
+#: builtin/am.c:2269 builtin/branch.c:670 builtin/bugreport.c:136
+#: builtin/for-each-ref.c:38 builtin/replace.c:556 builtin/tag.c:470
 #: builtin/verify-tag.c:38
 msgid "format"
 msgstr "định dạng"
@@ -10268,12 +10567,12 @@ msgid "skip the current patch"
 msgstr "bỏ qua miếng vá hiện hành"
 
 #: builtin/am.c:2287
-msgid "restore the original branch and abort the patching operation."
-msgstr "phục hồi lại nhánh gốc và loại bỏ thao tác vá."
+msgid "restore the original branch and abort the patching operation"
+msgstr "phục hồi lại nhánh gốc và loại bỏ thao tác vá"
 
 #: builtin/am.c:2290
-msgid "abort the patching operation but keep HEAD where it is."
-msgstr "bỏ qua thao tác vá nhưng vẫn giữ HEAD chỉ đến nó."
+msgid "abort the patching operation but keep HEAD where it is"
+msgstr "bỏ qua thao tác vá nhưng vẫn giữ HEAD nơi nó chỉ đến"
 
 #: builtin/am.c:2294
 msgid "show the patch being applied"
@@ -10288,12 +10587,12 @@ 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:2303 builtin/commit-tree.c:120 builtin/commit.c:1515
-#: builtin/merge.c:297 builtin/pull.c:175 builtin/rebase.c:536
-#: builtin/rebase.c:1394 builtin/revert.c:117 builtin/tag.c:419
+#: builtin/merge.c:298 builtin/pull.c:175 builtin/rebase.c:538
+#: builtin/rebase.c:1400 builtin/revert.c:117 builtin/tag.c:451
 msgid "key-id"
 msgstr "mã-số-khóa"
 
-#: builtin/am.c:2304 builtin/rebase.c:537 builtin/rebase.c:1395
+#: builtin/am.c:2304 builtin/rebase.c:539 builtin/rebase.c:1401
 msgid "GPG-sign commits"
 msgstr "Các lần chuyển giao ký-GPG"
 
@@ -10374,26 +10673,10 @@ msgid "git bisect--helper --bisect-reset [<commit>]"
 msgstr "git bisect--helper --bisect-reset [<lần_chuyển_giao>]"
 
 #: builtin/bisect--helper.c:24
-msgid ""
-"git bisect--helper --bisect-write [--no-log] <state> <revision> <good_term> "
-"<bad_term>"
-msgstr ""
-"git bisect--helper --bisect-write [--no-log] <state> <revision> <lúc_sai> "
-"<lúc_đúng>"
-
-#: builtin/bisect--helper.c:25
-msgid ""
-"git bisect--helper --bisect-check-and-set-terms <command> <good_term> "
-"<bad_term>"
-msgstr ""
-"git bisect--helper --bisect-check-and-set-terms <command> <lúc_sai> "
-"<lúc_đúng>"
-
-#: builtin/bisect--helper.c:26
 msgid "git bisect--helper --bisect-next-check <good_term> <bad_term> [<term>]"
 msgstr "git bisect--helper --bisect-next-check <lúc_sai> <lúc_đúng> [<term>]"
 
-#: builtin/bisect--helper.c:27
+#: builtin/bisect--helper.c:25
 msgid ""
 "git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad | --"
 "term-new]"
@@ -10401,7 +10684,7 @@ msgstr ""
 "git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad | --"
 "term-new]"
 
-#: builtin/bisect--helper.c:28
+#: builtin/bisect--helper.c:26
 msgid ""
 "git bisect--helper --bisect-start [--term-{new,bad}=<term> --term-{old,good}"
 "=<term>] [--no-checkout] [--first-parent] [<bad> [<good>...]] [--] "
@@ -10411,62 +10694,66 @@ msgstr ""
 "=<term>] [--no-checkout] [--first-parent] [<bad> [<good>…]] [--] [</các/"
 "đường/dẫn>…]"
 
-#: builtin/bisect--helper.c:30
+#: builtin/bisect--helper.c:28
 msgid "git bisect--helper --bisect-next"
 msgstr "git bisect--helper --bisect-next"
 
-#: builtin/bisect--helper.c:31
-msgid "git bisect--helper --bisect-auto-next"
-msgstr "git bisect--helper --bisect-auto-next"
-
-#: builtin/bisect--helper.c:32
+#: builtin/bisect--helper.c:29
 msgid "git bisect--helper --bisect-state (bad|new) [<rev>]"
 msgstr "git bisect--helper --bisect-state (bad|new) [<lần_chuyển_giao>]"
 
-#: builtin/bisect--helper.c:33
+#: builtin/bisect--helper.c:30
 msgid "git bisect--helper --bisect-state (good|old) [<rev>...]"
 msgstr "git bisect--helper --bisect-reset (good|old) [<lần_chuyển_giao>…]"
 
-#: builtin/bisect--helper.c:108
+#: builtin/bisect--helper.c:31
+msgid "git bisect--helper --bisect-replay <filename>"
+msgstr "git bisect--helper --bisect-replay <tên_tập_tin>"
+
+#: builtin/bisect--helper.c:32
+msgid "git bisect--helper --bisect-skip [(<rev>|<range>)...]"
+msgstr "git bisect--helper --bisect-skip [(<rev>|<vùng>)...]"
+
+#: builtin/bisect--helper.c:107
 #, c-format
 msgid "cannot open file '%s' in mode '%s'"
 msgstr "không thể mở tập tin “%s” ở chế độ “%s”"
 
-#: builtin/bisect--helper.c:115
+#: builtin/bisect--helper.c:114
 #, c-format
 msgid "could not write to file '%s'"
 msgstr "không thể ghi vào tập tin “%s”"
 
-#: builtin/bisect--helper.c:154
+#: builtin/bisect--helper.c:153
 #, c-format
 msgid "'%s' is not a valid term"
 msgstr "“%s” không phải một thời hạn hợp lệ"
 
-#: builtin/bisect--helper.c:158
+#: builtin/bisect--helper.c:157
 #, c-format
 msgid "can't use the builtin command '%s' as a term"
 msgstr "không thể dùng lệnh tích hợp “%s” như là một thời kỳ"
 
-#: builtin/bisect--helper.c:168
+#: builtin/bisect--helper.c:167
 #, c-format
 msgid "can't change the meaning of the term '%s'"
 msgstr "không thể thay đổi nghĩa của thời kỳ “%s”"
 
-#: builtin/bisect--helper.c:178
+#: builtin/bisect--helper.c:177
 msgid "please use two different terms"
 msgstr "vui lòng dùng hai thời kỳ khác nhau"
 
-#: builtin/bisect--helper.c:194
+#: builtin/bisect--helper.c:193
 #, c-format
 msgid "We are not bisecting.\n"
 msgstr "Chúng tôi đang không bisect.\n"
 
-#: builtin/bisect--helper.c:202
+#: builtin/bisect--helper.c:201
 #, c-format
 msgid "'%s' is not a valid commit"
 msgstr "“%s” không phải một lần chuyển giao hợp lệ"
 
-#: builtin/bisect--helper.c:211
+#: builtin/bisect--helper.c:210
 #, c-format
 msgid ""
 "could not check out original HEAD '%s'. Try 'git bisect reset <commit>'."
@@ -10474,27 +10761,27 @@ msgstr ""
 "không thể lấy ra HEAD nguyên thủy của “%s”. Hãy thử “git bisect reset <lần-"
 "chuyển-giao>”."
 
-#: builtin/bisect--helper.c:255
+#: builtin/bisect--helper.c:254
 #, c-format
 msgid "Bad bisect_write argument: %s"
 msgstr "Đối số bisect_write sai: %s"
 
-#: builtin/bisect--helper.c:260
+#: builtin/bisect--helper.c:259
 #, c-format
 msgid "couldn't get the oid of the rev '%s'"
 msgstr "không thể lấy oid của điểm xét duyệt “%s”"
 
-#: builtin/bisect--helper.c:272
+#: builtin/bisect--helper.c:271
 #, c-format
 msgid "couldn't open the file '%s'"
 msgstr "không thể mở tập tin “%s”"
 
-#: builtin/bisect--helper.c:298
+#: builtin/bisect--helper.c:297
 #, c-format
 msgid "Invalid command: you're currently in a %s/%s bisect"
 msgstr "Lệnh không hợp lệ: bạn hiện đang ở một bisect %s/%s"
 
-#: builtin/bisect--helper.c:325
+#: builtin/bisect--helper.c:324
 #, c-format
 msgid ""
 "You need to give me at least one %s and %s revision.\n"
@@ -10503,7 +10790,7 @@ msgstr ""
 "Bạn phải chỉ cho tôi ít nhất một điểm %s và một %s.\n"
 "Bạn có thể sử dụng \"git bisect %s\" và \"git bisect %s\" cho cái đó."
 
-#: builtin/bisect--helper.c:329
+#: builtin/bisect--helper.c:328
 #, c-format
 msgid ""
 "You need to start by \"git bisect start\".\n"
@@ -10514,7 +10801,7 @@ msgstr ""
 "Bạn sau đó cần phải chỉ cho tôi ít nhất một điểm xét duyệt %s và một %s.\n"
 "Bạn có thể sử dụng \"git bisect %s\" và \"git bisect %s\" cho chúng."
 
-#: builtin/bisect--helper.c:349
+#: builtin/bisect--helper.c:348
 #, c-format
 msgid "bisecting only with a %s commit"
 msgstr "chỉ thực hiện việc bisect với một lần chuyển giao %s"
@@ -10523,15 +10810,15 @@ msgstr "chỉ thực hiện việc bisect với một lần chuyển giao %s"
 #. translation. The program will only accept English input
 #. at this point.
 #.
-#: builtin/bisect--helper.c:357
+#: builtin/bisect--helper.c:356
 msgid "Are you sure [Y/n]? "
 msgstr "Bạn có chắc chắn chưa [Y/n]? "
 
-#: builtin/bisect--helper.c:418
+#: builtin/bisect--helper.c:417
 msgid "no terms defined"
 msgstr "chưa định nghĩa thời kỳ nào"
 
-#: builtin/bisect--helper.c:421
+#: builtin/bisect--helper.c:420
 #, c-format
 msgid ""
 "Your current terms are %s for the old state\n"
@@ -10540,7 +10827,7 @@ msgstr ""
 "Bạn hiện tại đang ở thời kỳ %s cho tình trạng cũ\n"
 "và %s cho tình trạng mới.\n"
 
-#: builtin/bisect--helper.c:431
+#: builtin/bisect--helper.c:430
 #, c-format
 msgid ""
 "invalid argument %s for 'git bisect terms'.\n"
@@ -10549,52 +10836,52 @@ msgstr ""
 "tham số không hợp lệ %s cho “git bisect terms”.\n"
 "Các tùy chọn hỗ trợ là: --term-good|--term-old và --term-bad|--term-new."
 
-#: builtin/bisect--helper.c:498
+#: builtin/bisect--helper.c:497 builtin/bisect--helper.c:1014
 msgid "revision walk setup failed\n"
 msgstr "gặp lỗi cài đặt việc di chuyển qua các điểm xét duyệt\n"
 
-#: builtin/bisect--helper.c:520
+#: builtin/bisect--helper.c:519
 #, c-format
 msgid "could not open '%s' for appending"
 msgstr "không thể mở “%s” để nối thêm"
 
-#: builtin/bisect--helper.c:639 builtin/bisect--helper.c:652
+#: builtin/bisect--helper.c:638 builtin/bisect--helper.c:651
 msgid "'' is not a valid term"
 msgstr "” không phải một thời hạn hợp lệ"
 
-#: builtin/bisect--helper.c:662
+#: builtin/bisect--helper.c:661
 #, c-format
 msgid "unrecognized option: '%s'"
 msgstr "tùy chọn không được thừa nhận: “%s”"
 
-#: builtin/bisect--helper.c:666
+#: builtin/bisect--helper.c:665
 #, c-format
 msgid "'%s' does not appear to be a valid revision"
 msgstr "“%s” không có vẻ như là một điểm xét duyệt hợp lệ"
 
-#: builtin/bisect--helper.c:697
+#: builtin/bisect--helper.c:696
 msgid "bad HEAD - I need a HEAD"
 msgstr "sai HEAD - Tôi cần một HEAD"
 
-#: builtin/bisect--helper.c:712
+#: builtin/bisect--helper.c:711
 #, c-format
 msgid "checking out '%s' failed. Try 'git bisect start <valid-branch>'."
 msgstr "lấy ra “%s” ra gặp lỗi. Hãy thử \"git bisect reset <nhánh_hợp_lệ>\"."
 
-#: builtin/bisect--helper.c:733
+#: builtin/bisect--helper.c:732
 msgid "won't bisect on cg-seek'ed tree"
 msgstr "sẽ không di chuyển nửa bước trên cây được cg-seek"
 
-#: builtin/bisect--helper.c:736
+#: builtin/bisect--helper.c:735
 msgid "bad HEAD - strange symbolic ref"
 msgstr "sai HEAD - tham chiếu mềm kỳ lạ"
 
-#: builtin/bisect--helper.c:756
+#: builtin/bisect--helper.c:755
 #, c-format
 msgid "invalid ref: '%s'"
 msgstr "refspec không hợp lệ: “%s”"
 
-#: builtin/bisect--helper.c:814
+#: builtin/bisect--helper.c:813
 msgid "You need to start by \"git bisect start\"\n"
 msgstr "Bạn cần khởi đầu bằng \"git bisect start\"\n"
 
@@ -10602,93 +10889,102 @@ msgstr "Bạn cần khởi đầu bằng \"git bisect start\"\n"
 #. translation. The program will only accept English input
 #. at this point.
 #.
-#: builtin/bisect--helper.c:825
+#: builtin/bisect--helper.c:824
 msgid "Do you want me to do it for you [Y/n]? "
 msgstr "Bạn có muốn tôi thực hiện điều này cho bạn không [Y/n]? "
 
-#: builtin/bisect--helper.c:843
+#: builtin/bisect--helper.c:842
 msgid "Please call `--bisect-state` with at least one argument"
 msgstr "Hãy gọi “--bisect-state” với ít nhất một đối số"
 
-#: builtin/bisect--helper.c:856
+#: builtin/bisect--helper.c:855
 #, c-format
 msgid "'git bisect %s' can take only one argument."
 msgstr "“git bisect %s” có thể lấy chỉ một đối số."
 
-#: builtin/bisect--helper.c:868 builtin/bisect--helper.c:879
+#: builtin/bisect--helper.c:867 builtin/bisect--helper.c:878
 #, c-format
 msgid "Bad rev input: %s"
 msgstr "Đầu vào rev sai: %s"
 
-#: builtin/bisect--helper.c:924
-msgid "reset the bisection state"
-msgstr "đặt lại trạng di chuyển nửa bước"
+#: builtin/bisect--helper.c:912
+msgid "We are not bisecting."
+msgstr "Chúng tôi không bisect."
 
-#: builtin/bisect--helper.c:926
-msgid "write out the bisection state in BISECT_LOG"
-msgstr "ghi ra tình trạng di chuyển nửa bước trong BISECT_LOG"
+#: builtin/bisect--helper.c:962
+#, c-format
+msgid "'%s'?? what are you talking about?"
+msgstr "'%s'?? bạn đang nói gì thế?"
+
+#: builtin/bisect--helper.c:974
+#, c-format
+msgid "cannot read file '%s' for replaying"
+msgstr "không thể đọc tập tin '%s' để thao diễn lại"
 
-#: builtin/bisect--helper.c:928
-msgid "check and set terms in a bisection state"
-msgstr "kiểm tra và đặt thời điểm trong di chuyển nửa bước"
+#: builtin/bisect--helper.c:1047
+msgid "reset the bisection state"
+msgstr "đặt lại trạng di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:930
+#: builtin/bisect--helper.c:1049
 msgid "check whether bad or good terms exist"
 msgstr "kiểm tra xem các thời điểm xấu/tốt có tồn tại không"
 
-#: builtin/bisect--helper.c:932
+#: builtin/bisect--helper.c:1051
 msgid "print out the bisect terms"
 msgstr "in ra các thời điểm di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:934
+#: builtin/bisect--helper.c:1053
 msgid "start the bisect session"
 msgstr "bắt đầu phiên di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:936
+#: builtin/bisect--helper.c:1055
 msgid "find the next bisection commit"
 msgstr "tìm lần chuyển giao không di chuyển phân đôi"
 
-#: builtin/bisect--helper.c:938
-msgid "verify the next bisection state then checkout the next bisection commit"
-msgstr ""
-"xác nhận trạng thái phân đôi kế sau đó lấy ra lần chuyển giao phân đôi kế"
-
-#: builtin/bisect--helper.c:940
+#: builtin/bisect--helper.c:1057
 msgid "mark the state of ref (or refs)"
 msgstr "đánh dấu trạng thái ref (hoặc refs)"
 
-#: builtin/bisect--helper.c:942
+#: builtin/bisect--helper.c:1059
+msgid "list the bisection steps so far"
+msgstr "liệt kê các bước bisection đi quá xa"
+
+#: builtin/bisect--helper.c:1061
+msgid "replay the bisection process from the given file"
+msgstr "phát lại quá trình bisection từ tệp đã cho"
+
+#: builtin/bisect--helper.c:1063
+msgid "skip some commits for checkout"
+msgstr "bỏ qua một số lần chuyển giao để lấy ra"
+
+#: builtin/bisect--helper.c:1065
 msgid "no log for BISECT_WRITE"
 msgstr "không có nhật ký cho BISECT_WRITE"
 
-#: builtin/bisect--helper.c:957
+#: builtin/bisect--helper.c:1080
 msgid "--bisect-reset requires either no argument or a commit"
 msgstr ""
 "--bisect-reset requires không nhận đối số cũng không nhận lần chuyển giao"
 
-#: builtin/bisect--helper.c:961
-msgid "--bisect-write requires either 4 or 5 arguments"
-msgstr "--bisect-write cần 4 hoặc 5 tham số"
-
-#: builtin/bisect--helper.c:967
-msgid "--check-and-set-terms requires 3 arguments"
-msgstr "--check-and-set-terms cần 3 tham số"
-
-#: builtin/bisect--helper.c:973
+#: builtin/bisect--helper.c:1085
 msgid "--bisect-next-check requires 2 or 3 arguments"
 msgstr "--bisect-next-check cần 2 hoặc 3 tham số"
 
-#: builtin/bisect--helper.c:979
+#: builtin/bisect--helper.c:1091
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr "--bisect-terms cần 0 hoặc 1 tham số"
 
-#: builtin/bisect--helper.c:988
+#: builtin/bisect--helper.c:1100
 msgid "--bisect-next requires 0 arguments"
 msgstr "--bisect-next cần 0 tham số"
 
-#: builtin/bisect--helper.c:994
-msgid "--bisect-auto-next requires 0 arguments"
-msgstr "--bisect-auto-next cần 0 tham số"
+#: builtin/bisect--helper.c:1111
+msgid "--bisect-log requires 0 arguments"
+msgstr "--bisect-log cần 0 tham số"
+
+#: builtin/bisect--helper.c:1116
+msgid "no logfile given"
+msgstr "chưa chỉ ra tập tin ghi nhật ký"
 
 #: builtin/blame.c:32
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
@@ -10707,140 +11003,143 @@ msgstr "cần một màu: %s"
 msgid "must end with a color"
 msgstr "phải kết thúc bằng một màu"
 
-#: builtin/blame.c:730
+#: builtin/blame.c:728
 #, 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:748
+#: builtin/blame.c:746
 msgid "invalid value for blame.coloring"
 msgstr "màu không hợp lệ cho blame.coloring"
 
-#: builtin/blame.c:847
+#: builtin/blame.c:845
 #, c-format
 msgid "cannot find revision %s to ignore"
 msgstr "không thể tìm thấy điểm xét duyệt %s để mà bỏ qua"
 
-#: builtin/blame.c:869
-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:867
+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:870
-msgid "Do not show object names of boundary commits (Default: off)"
+#: builtin/blame.c:868
+msgid "do not show object names of boundary commits (Default: off)"
 msgstr ""
-"Ä\90ừng hiển thị tên đối tượng của những lần chuyển giao biên giới (Mặc định: "
+"Ä\91ừng hiển thị tên đối tượng của những lần chuyển giao biên giới (Mặc định: "
 "off)"
 
-#: builtin/blame.c:871
-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:869
+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:870
+msgid "show work cost statistics"
+msgstr "hiển thị thống kê công sức làm việc"
+
+#: builtin/blame.c:871 builtin/checkout.c:1503 builtin/clone.c:92
+#: builtin/commit-graph.c:84 builtin/commit-graph.c:222 builtin/fetch.c:175
+#: builtin/merge.c:297 builtin/multi-pack-index.c:27 builtin/pull.c:119
+#: builtin/push.c:575 builtin/send-pack.c:198
+msgid "force progress reporting"
+msgstr "ép buộc báo cáo tiến triển công việc"
 
 #: builtin/blame.c:872
-msgid "Show work cost statistics"
-msgstr "Hiển thị thống kê công sức làm việc"
+msgid "show output score for blame entries"
+msgstr "hiển thị kết xuất điểm số cho các mục tin “blame”"
 
 #: builtin/blame.c:873
-msgid "Force progress reporting"
-msgstr "Ép buộc báo cáo diễn biến công việc"
+msgid "show original filename (Default: auto)"
+msgstr "hiển thị tên tập tin gốc (Mặc định: auto)"
 
 #: builtin/blame.c:874
-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”"
+msgid "show original linenumber (Default: off)"
+msgstr "hiển thị số dòng gốc (Mặc định: off)"
 
 #: builtin/blame.c:875
-msgid "Show original filename (Default: auto)"
-msgstr "Hiển thị tên tập tin gốc (Mặc định: auto)"
+msgid "show in a format designed for machine consumption"
+msgstr "hiển thị ở định dạng đã thiết kế cho dùng bằng máy"
 
 #: builtin/blame.c:876
-msgid "Show original linenumber (Default: off)"
-msgstr "Hiển thị số dòng gốc (Mặc định: off)"
+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:877
-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"
+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:878
-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"
+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:879
-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)"
+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:880
-msgid "Show raw timestamp (Default: off)"
-msgstr "Hiển thị dấu vết thời gian dạng thô (Mặc định: off)"
+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:881
-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)"
+msgid "show author email instead of name (Default: off)"
+msgstr "hiển thị thư điện tử của tác giả thay cho tên (Mặc định: off)"
 
 #: builtin/blame.c:882
-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:883
-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:884
-msgid "Ignore whitespace differences"
-msgstr "Bỏ qua các khác biệt do khoảng trắng gây ra"
+msgid "ignore whitespace differences"
+msgstr "bỏ qua các khác biệt do khoảng trắng gây ra"
 
-#: builtin/blame.c:885 builtin/log.c:1813
+#: builtin/blame.c:883 builtin/log.c:1812
 msgid "rev"
 msgstr "rev"
 
-#: builtin/blame.c:885
-msgid "Ignore <rev> when blaming"
-msgstr "Bỏ qua <rev> khi blame"
+#: builtin/blame.c:883
+msgid "ignore <rev> when blaming"
+msgstr "bỏ qua <rev> khi blame"
 
-#: builtin/blame.c:886
-msgid "Ignore revisions from <file>"
-msgstr "Bỏ qua các điểm xét duyệt từ <tập tin>"
+#: builtin/blame.c:884
+msgid "ignore revisions from <file>"
+msgstr "bỏ qua các điểm xét duyệt từ <tập tin>"
 
-#: builtin/blame.c:887
+#: builtin/blame.c:885
 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:888
+#: builtin/blame.c:886
 msgid "color lines by age"
 msgstr "các dòng màu theo tuổi"
 
-#: builtin/blame.c:889
-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:887
+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:890
-msgid "Use revisions from <file> instead of calling git-rev-list"
+#: builtin/blame.c:888
+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”"
+"sử dụng các điểm xét duyệt (revision) từ <tập tin> thay vì gọi “git-rev-list”"
 
-#: builtin/blame.c:891
-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:889
+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:892 builtin/blame.c:893
+#: builtin/blame.c:890 builtin/blame.c:891
 msgid "score"
 msgstr "điểm số"
 
-#: builtin/blame.c:892
-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:890
+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:893
-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:891
+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:894
+#: builtin/blame.c:892
 msgid "range"
 msgstr "vùng"
 
-#: builtin/blame.c:895
-msgid "Process only line range <start>,<end> or function :<funcname>"
-msgstr "Xử lý chỉ dòng vùng <đầu>,<cuối> hoặc tính năng :<funcname>"
+#: builtin/blame.c:893
+msgid "process only line range <start>,<end> or function :<funcname>"
+msgstr "xử lý chỉ dòng vùng <đầu>,<cuối> hoặc tính năng :<funcname>"
 
-#: builtin/blame.c:947
+#: builtin/blame.c:945
 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"
@@ -10853,17 +11152,17 @@ msgstr ""
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:998
+#: builtin/blame.c:996
 msgid "4 years, 11 months ago"
 msgstr "4 năm, 11 tháng trước"
 
-#: builtin/blame.c:1114
+#: builtin/blame.c:1112
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
 msgstr[0] "tập tin %s chỉ có %lu dòng"
 
-#: builtin/blame.c:1159
+#: builtin/blame.c:1157
 msgid "Blaming lines"
 msgstr "Các dòng blame"
 
@@ -10931,117 +11230,107 @@ msgstr ""
 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:220
+#: builtin/branch.c:223
 msgid "cannot use -a with -d"
 msgstr "không thể dùng tùy chọn -a với -d"
 
-#: builtin/branch.c:226
+#: builtin/branch.c:230
 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:240
+#: builtin/branch.c:244
 #, 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:255
+#: builtin/branch.c:259
 #, 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:256
+#: builtin/branch.c:260
 #, c-format
 msgid "branch '%s' not found."
 msgstr "không tìm thấy nhánh “%s”."
 
-#: builtin/branch.c:271
-#, c-format
-msgid "Error deleting remote-tracking branch '%s'"
-msgstr "Gặp lỗi khi đang xóa nhánh theo dõi máy chủ “%s”"
-
-#: builtin/branch.c:272
-#, c-format
-msgid "Error deleting branch '%s'"
-msgstr "Gặp lỗi khi xóa bỏ nhánh “%s”"
-
-#: builtin/branch.c:279
+#: builtin/branch.c:291
 #, 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:280
+#: builtin/branch.c:292
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr "Nhánh “%s” đã bị xóa (từng là %s)\n"
 
-#: builtin/branch.c:429 builtin/tag.c:61
+#: builtin/branch.c:438 builtin/tag.c:61
 msgid "unable to parse format string"
 msgstr "không thể phân tích chuỗi định dạng"
 
-#: builtin/branch.c:460
+#: builtin/branch.c:469
 msgid "could not resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: builtin/branch.c:466
+#: builtin/branch.c:475
 #, c-format
 msgid "HEAD (%s) points outside of refs/heads/"
 msgstr "HEAD (%s) chỉ bên ngoài của refs/heads/"
 
-#: builtin/branch.c:481
+#: builtin/branch.c:490
 #, 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:485
+#: builtin/branch.c:494
 #, 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:502
+#: builtin/branch.c:511
 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:504
+#: builtin/branch.c:513
 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:515
+#: builtin/branch.c:524
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Tên nhánh không hợp lệ: “%s”"
 
-#: builtin/branch.c:544
+#: builtin/branch.c:553
 msgid "Branch rename failed"
 msgstr "Gặp lỗi khi đổi tên nhánh"
 
-#: builtin/branch.c:546
+#: builtin/branch.c:555
 msgid "Branch copy failed"
 msgstr "Gặp lỗi khi sao chép nhánh"
 
-#: builtin/branch.c:550
+#: builtin/branch.c:559
 #, 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:553
+#: builtin/branch.c:562
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Đã đổi tên nhánh khuyết danh “%s” đi"
 
-#: builtin/branch.c:559
+#: builtin/branch.c:568
 #, 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:568
+#: builtin/branch.c:577
 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:570
+#: builtin/branch.c:579
 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:586
+#: builtin/branch.c:595
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -11052,180 +11341,180 @@ msgstr ""
 "  %s\n"
 "Những dòng được bắt đầu bằng “%c” sẽ được cắt bỏ.\n"
 
-#: builtin/branch.c:620
+#: builtin/branch.c:629
 msgid "Generic options"
 msgstr "Tùy chọn chung"
 
-#: builtin/branch.c:622
+#: builtin/branch.c:631
 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:623
+#: builtin/branch.c:632
 msgid "suppress informational messages"
 msgstr "không xuất các thông tin"
 
-#: builtin/branch.c:624
+#: builtin/branch.c:633
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "cài đặt chế độ theo dõi (xem git-pull(1))"
 
-#: builtin/branch.c:626
+#: builtin/branch.c:635
 msgid "do not use"
 msgstr "không dùng"
 
-#: builtin/branch.c:628 builtin/rebase.c:532
+#: builtin/branch.c:637 builtin/rebase.c:534
 msgid "upstream"
 msgstr "thượng nguồn"
 
-#: builtin/branch.c:628
+#: builtin/branch.c:637
 msgid "change the upstream info"
 msgstr "thay đổi thông tin thượng nguồn"
 
-#: builtin/branch.c:629
+#: builtin/branch.c:638
 msgid "unset the upstream info"
 msgstr "bỏ đặt thông tin thượng nguồn"
 
-#: builtin/branch.c:630
+#: builtin/branch.c:639
 msgid "use colored output"
 msgstr "tô màu kết xuất"
 
-#: builtin/branch.c:631
+#: builtin/branch.c:640
 msgid "act on remote-tracking branches"
 msgstr "thao tác trên nhánh “remote-tracking”"
 
-#: builtin/branch.c:633 builtin/branch.c:635
+#: builtin/branch.c:642 builtin/branch.c:644
 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:634 builtin/branch.c:636
+#: builtin/branch.c:643 builtin/branch.c:645
 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:639
+#: builtin/branch.c:648
 msgid "Specific git-branch actions:"
 msgstr "Hành động git-branch:"
 
-#: builtin/branch.c:640
+#: builtin/branch.c:649
 msgid "list both remote-tracking and local branches"
 msgstr "liệt kê cả nhánh “remote-tracking” và nội bộ"
 
-#: builtin/branch.c:642
+#: builtin/branch.c:651
 msgid "delete fully merged branch"
 msgstr "xóa một toàn bộ nhánh đã hòa trộn"
 
-#: builtin/branch.c:643
+#: builtin/branch.c:652
 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:644
+#: builtin/branch.c:653
 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:645
+#: builtin/branch.c:654
 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:646
+#: builtin/branch.c:655
 msgid "copy a branch and its reflog"
 msgstr "sao chép một nhánh và reflog của nó"
 
-#: builtin/branch.c:647
+#: builtin/branch.c:656
 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:648
+#: builtin/branch.c:657
 msgid "list branch names"
 msgstr "liệt kê các tên nhánh"
 
-#: builtin/branch.c:649
+#: builtin/branch.c:658
 msgid "show current branch name"
 msgstr "hiển thị nhánh hiện hành"
 
-#: builtin/branch.c:650
+#: builtin/branch.c:659
 msgid "create the branch's reflog"
 msgstr "tạo reflog của nhánh"
 
-#: builtin/branch.c:652
+#: builtin/branch.c:661
 msgid "edit the description for the branch"
 msgstr "sửa mô tả cho nhánh"
 
-#: builtin/branch.c:653
+#: builtin/branch.c:662
 msgid "force creation, move/rename, deletion"
 msgstr "buộc tạo, di chuyển/đổi tên, xóa"
 
-#: builtin/branch.c:654
+#: builtin/branch.c:663
 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:655
+#: builtin/branch.c:664
 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:656
+#: builtin/branch.c:665
 msgid "list branches in columns"
 msgstr "liệt kê các nhánh trong các cột"
 
-#: builtin/branch.c:658 builtin/for-each-ref.c:42 builtin/notes.c:415
+#: builtin/branch.c:667 builtin/for-each-ref.c:42 builtin/notes.c:415
 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584
-#: builtin/tag.c:434
+#: builtin/tag.c:466
 msgid "object"
 msgstr "đối tượng"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:668
 msgid "print only branches of the object"
 msgstr "chỉ hiển thị các nhánh của đối tượng"
 
-#: builtin/branch.c:660 builtin/for-each-ref.c:48 builtin/tag.c:441
+#: builtin/branch.c:669 builtin/for-each-ref.c:48 builtin/tag.c:473
 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:661 builtin/for-each-ref.c:38 builtin/tag.c:439
+#: builtin/branch.c:670 builtin/for-each-ref.c:38 builtin/tag.c:471
 #: builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "định dạng sẽ dùng cho đầu ra"
 
-#: builtin/branch.c:684 builtin/clone.c:790
+#: builtin/branch.c:693 builtin/clone.c:790
 msgid "HEAD not found below refs/heads!"
 msgstr "Không tìm thấy HEAD ở dưới refs/heads!"
 
-#: builtin/branch.c:708
+#: builtin/branch.c:717
 msgid "--column and --verbose are incompatible"
 msgstr "tùy chọn --column và --verbose xung khắc nhau"
 
-#: builtin/branch.c:723 builtin/branch.c:777 builtin/branch.c:786
+#: builtin/branch.c:732 builtin/branch.c:788 builtin/branch.c:797
 msgid "branch name required"
 msgstr "cần chỉ ra tên nhánh"
 
-#: builtin/branch.c:753
+#: builtin/branch.c:764
 msgid "Cannot give description to detached HEAD"
 msgstr "Không thể đưa ra mô tả HEAD đã tách rời"
 
-#: builtin/branch.c:758
+#: builtin/branch.c:769
 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:765
+#: builtin/branch.c:776
 #, 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:768
+#: builtin/branch.c:779
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Không có nhánh nào có tên “%s”."
 
-#: builtin/branch.c:783
+#: builtin/branch.c:794
 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:792
+#: builtin/branch.c:803
 msgid "too many arguments for a rename operation"
 msgstr "quá nhiều tham số cho thao tác đổi tên"
 
-#: builtin/branch.c:797
+#: builtin/branch.c:808
 msgid "too many arguments to set new upstream"
 msgstr "quá nhiều tham số để đặt thượng nguồn mới"
 
-#: builtin/branch.c:801
+#: builtin/branch.c:812
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -11233,30 +11522,30 @@ msgstr ""
 "không thể đặt thượng nguồn của HEAD thành %s khi mà nó chẳng chỉ đến nhánh "
 "nào cả."
 
-#: builtin/branch.c:804 builtin/branch.c:827
+#: builtin/branch.c:815 builtin/branch.c:838
 #, c-format
 msgid "no such branch '%s'"
 msgstr "không có nhánh nào như thế “%s”"
 
-#: builtin/branch.c:808
+#: builtin/branch.c:819
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "chưa có nhánh “%s”"
 
-#: builtin/branch.c:821
+#: builtin/branch.c:832
 msgid "too many arguments to unset upstream"
 msgstr "quá nhiều tham số để bỏ đặt thượng nguồn"
 
-#: builtin/branch.c:825
+#: builtin/branch.c:836
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr "không thể bỏ đặt thượng nguồn của HEAD không chỉ đến một nhánh nào cả."
 
-#: builtin/branch.c:831
+#: builtin/branch.c:842
 #, 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:841
+#: builtin/branch.c:852
 msgid ""
 "The -a, and -r, options to 'git branch' do not take a branch name.\n"
 "Did you mean to use: -a|-r --list <pattern>?"
@@ -11265,7 +11554,7 @@ msgstr ""
 "nhánh.\n"
 "Có phải ý bạn là dùng: -a|-r --list <mẫu>?"
 
-#: builtin/branch.c:845
+#: builtin/branch.c:856
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
@@ -11386,19 +11675,19 @@ msgstr "git bundle list-heads <tập tin> [<tên tham chiếu>…]"
 msgid "git bundle unbundle <file> [<refname>...]"
 msgstr "git bundle unbundle <tập tin> [<tên tham chiếu>…]"
 
-#: builtin/bundle.c:67 builtin/pack-objects.c:3480
+#: builtin/bundle.c:67 builtin/pack-objects.c:3495
 msgid "do not show progress meter"
 msgstr "không hiển thị bộ đo tiến trình"
 
-#: builtin/bundle.c:69 builtin/pack-objects.c:3482
+#: builtin/bundle.c:69 builtin/pack-objects.c:3497
 msgid "show progress meter"
 msgstr "hiển thị bộ đo tiến trình"
 
-#: builtin/bundle.c:71 builtin/pack-objects.c:3484
+#: builtin/bundle.c:71 builtin/pack-objects.c:3499
 msgid "show progress meter during object writing phase"
 msgstr "hiển thị bộ đo tiến triển trong suốt pha ghi đối tượng"
 
-#: builtin/bundle.c:74 builtin/pack-objects.c:3487
+#: builtin/bundle.c:74 builtin/pack-objects.c:3502
 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"
 
@@ -11541,8 +11830,8 @@ msgstr "đọc tên tập tin từ đầu vào tiêu chuẩn"
 msgid "terminate input and output records by a NUL character"
 msgstr "chấm dứt các bản ghi vào và ra bằng ký tự NULL"
 
-#: builtin/check-ignore.c:21 builtin/checkout.c:1500 builtin/gc.c:541
-#: builtin/worktree.c:561
+#: builtin/check-ignore.c:21 builtin/checkout.c:1499 builtin/gc.c:549
+#: builtin/worktree.c:489
 msgid "suppress progress reporting"
 msgstr "chặn các báo cáo tiến trình hoạt động"
 
@@ -11595,55 +11884,55 @@ msgstr "không thể phân tích danh bạ: “%s”"
 msgid "no contacts specified"
 msgstr "chưa chỉ ra danh bạ"
 
-#: builtin/checkout-index.c:139
+#: builtin/checkout-index.c:152
 msgid "git checkout-index [<options>] [--] [<file>...]"
 msgstr "git checkout-index [<các tùy chọn>] [--] [<tập-tin>…]"
 
-#: builtin/checkout-index.c:156
+#: builtin/checkout-index.c:169
 msgid "stage should be between 1 and 3 or all"
 msgstr "stage nên giữa 1 và 3 hay all"
 
-#: builtin/checkout-index.c:173
+#: builtin/checkout-index.c:186
 msgid "check out all files in the index"
 msgstr "lấy ra toàn bộ các tập tin trong bảng mục lục"
 
-#: builtin/checkout-index.c:174
+#: builtin/checkout-index.c:187
 msgid "force overwrite of existing files"
 msgstr "ép buộc ghi đè lên tập tin đã sẵn có từ trước"
 
-#: builtin/checkout-index.c:176
+#: builtin/checkout-index.c:189
 msgid "no warning for existing files and files not in index"
 msgstr ""
 "không cảnh báo cho những tập tin tồn tại và không có trong bảng mục lục"
 
-#: builtin/checkout-index.c:178
+#: builtin/checkout-index.c:191
 msgid "don't checkout new files"
 msgstr "không checkout các tập tin mới"
 
-#: builtin/checkout-index.c:180
+#: builtin/checkout-index.c:193
 msgid "update stat information in the index file"
 msgstr "cập nhật thông tin thống kê trong tập tin lưu bảng mục lục mới"
 
-#: builtin/checkout-index.c:184
+#: builtin/checkout-index.c:197
 msgid "read list of paths from the standard input"
 msgstr "đọc danh sách đường dẫn từ đầu vào tiêu chuẩn"
 
-#: builtin/checkout-index.c:186
+#: builtin/checkout-index.c:199
 msgid "write the content to temporary files"
 msgstr "ghi nội dung vào tập tin tạm"
 
-#: builtin/checkout-index.c:187 builtin/column.c:31
+#: builtin/checkout-index.c:200 builtin/column.c:31
 #: builtin/submodule--helper.c:1824 builtin/submodule--helper.c:1827
 #: builtin/submodule--helper.c:1835 builtin/submodule--helper.c:2333
-#: builtin/worktree.c:757
+#: builtin/worktree.c:717
 msgid "string"
 msgstr "chuỗi"
 
-#: builtin/checkout-index.c:188
+#: builtin/checkout-index.c:201
 msgid "when creating files, prepend <string>"
 msgstr "khi tạo các tập tin, nối thêm <chuỗi>"
 
-#: builtin/checkout-index.c:190
+#: builtin/checkout-index.c:203
 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"
 
@@ -11743,16 +12032,16 @@ msgstr "phải có “%s” khi không chỉ định “%s”"
 msgid "'%s' or '%s' cannot be used with %s"
 msgstr "“%s” hay “%s” không thể được sử dụng với %s"
 
-#: builtin/checkout.c:541 builtin/checkout.c:548
+#: builtin/checkout.c:543 builtin/checkout.c:550
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "đường dẫn “%s” không được hòa trộn"
 
-#: builtin/checkout.c:716
+#: builtin/checkout.c:718
 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:770
+#: builtin/checkout.c:772
 #, c-format
 msgid ""
 "cannot continue with staged changes in the following files:\n"
@@ -11762,50 +12051,50 @@ msgstr ""
 "sau:\n"
 "%s"
 
-#: builtin/checkout.c:866
+#: builtin/checkout.c:865
 #, 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:908
+#: builtin/checkout.c:907
 msgid "HEAD is now at"
 msgstr "HEAD hiện giờ tại"
 
-#: builtin/checkout.c:912 builtin/clone.c:721 t/helper/test-fast-rebase.c:202
+#: builtin/checkout.c:911 builtin/clone.c:721 t/helper/test-fast-rebase.c:202
 msgid "unable to update HEAD"
 msgstr "không thể cập nhật HEAD"
 
-#: builtin/checkout.c:916
+#: builtin/checkout.c:915
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:919
+#: builtin/checkout.c:918
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Đã sẵn sàng trên “%s”\n"
 
-#: builtin/checkout.c:923
+#: builtin/checkout.c:922
 #, 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:925 builtin/checkout.c:1356
+#: builtin/checkout.c:924 builtin/checkout.c:1355
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Đã chuyển đến nhánh mới “%s”\n"
 
-#: builtin/checkout.c:927
+#: builtin/checkout.c:926
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Đã chuyển đến nhánh “%s”\n"
 
-#: builtin/checkout.c:978
+#: builtin/checkout.c:977
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " … và nhiều hơn %d.\n"
 
-#: builtin/checkout.c:984
+#: builtin/checkout.c:983
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -11824,7 +12113,7 @@ msgstr[0] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:1003
+#: builtin/checkout.c:1002
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -11845,19 +12134,19 @@ msgstr[0] ""
 " git branch <tên_nhánh_mới> %s\n"
 "\n"
 
-#: builtin/checkout.c:1038
+#: builtin/checkout.c:1037
 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:1042
+#: builtin/checkout.c:1041
 msgid "Previous HEAD position was"
 msgstr "Vị trí trước kia của HEAD là"
 
-#: builtin/checkout.c:1082 builtin/checkout.c:1351
+#: builtin/checkout.c:1081 builtin/checkout.c:1350
 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:1164
+#: builtin/checkout.c:1163
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
@@ -11866,7 +12155,7 @@ msgstr ""
 "“%s” không thể là cả tập tin nội bộ và một nhánh theo dõi.\n"
 "Vui long dùng -- (và tùy chọn thêm --no-guess) để tránh lẫn lộn"
 
-#: builtin/checkout.c:1171
+#: builtin/checkout.c:1170
 msgid ""
 "If you meant to check out a remote tracking branch on, e.g. 'origin',\n"
 "you can do so by fully qualifying the name with the --track option:\n"
@@ -11886,51 +12175,51 @@ msgstr ""
 "chưa rõ ràng, ví dụ máy chủ “origin”, cân nhắc cài đặt\n"
 "checkout.defaultRemote=origin trong cấu hình của bạn."
 
-#: builtin/checkout.c:1181
+#: builtin/checkout.c:1180
 #, c-format
 msgid "'%s' matched multiple (%d) remote tracking branches"
 msgstr "“%s” khớp với nhiều (%d) nhánh máy chủ được theo dõi"
 
-#: builtin/checkout.c:1247
+#: builtin/checkout.c:1246
 msgid "only one reference expected"
 msgstr "chỉ cần một tham chiếu"
 
-#: builtin/checkout.c:1264
+#: builtin/checkout.c:1263
 #, 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:1310 builtin/worktree.c:342 builtin/worktree.c:510
+#: builtin/checkout.c:1309 builtin/worktree.c:270 builtin/worktree.c:438
 #, c-format
 msgid "invalid reference: %s"
 msgstr "tham chiếu không hợp lệ: %s"
 
-#: builtin/checkout.c:1323 builtin/checkout.c:1689
+#: builtin/checkout.c:1322 builtin/checkout.c:1688
 #, 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:1370
+#: builtin/checkout.c:1369
 #, c-format
 msgid "a branch is expected, got tag '%s'"
 msgstr "cần một nhánh, nhưng lại nhận được thẻ “%s”"
 
-#: builtin/checkout.c:1372
+#: builtin/checkout.c:1371
 #, c-format
 msgid "a branch is expected, got remote branch '%s'"
 msgstr "cần một nhánh, nhưng lại nhận được nhánh máy phục vụ “%s”"
 
-#: builtin/checkout.c:1373 builtin/checkout.c:1381
+#: builtin/checkout.c:1372 builtin/checkout.c:1380
 #, c-format
 msgid "a branch is expected, got '%s'"
 msgstr "cần một nhánh, nhưng lại nhận được “%s”"
 
-#: builtin/checkout.c:1376
+#: builtin/checkout.c:1375
 #, c-format
 msgid "a branch is expected, got commit '%s'"
 msgstr "cần một nhánh, nhưng lại nhận được “%s”"
 
-#: builtin/checkout.c:1392
+#: builtin/checkout.c:1391
 msgid ""
 "cannot switch branch while merging\n"
 "Consider \"git merge --quit\" or \"git worktree add\"."
@@ -11938,7 +12227,7 @@ msgstr ""
 "không thể chuyển nhánh trong khi đang hòa trộn\n"
 "Cân nhắc dung \"git merge --quit\" hoặc \"git worktree add\"."
 
-#: builtin/checkout.c:1396
+#: builtin/checkout.c:1395
 msgid ""
 "cannot switch branch in the middle of an am session\n"
 "Consider \"git am --quit\" or \"git worktree add\"."
@@ -11946,7 +12235,7 @@ msgstr ""
 "không thể chuyển nhanh ở giữa một phiên am\n"
 "Cân nhắc dùng \"git am --quit\" hoặc \"git worktree add\"."
 
-#: builtin/checkout.c:1400
+#: builtin/checkout.c:1399
 msgid ""
 "cannot switch branch while rebasing\n"
 "Consider \"git rebase --quit\" or \"git worktree add\"."
@@ -11954,7 +12243,7 @@ msgstr ""
 "không thể chuyển nhánh trong khi cải tổ\n"
 "Cân nhắc dùng \"git rebase --quit\" hay \"git worktree add\"."
 
-#: builtin/checkout.c:1404
+#: builtin/checkout.c:1403
 msgid ""
 "cannot switch branch while cherry-picking\n"
 "Consider \"git cherry-pick --quit\" or \"git worktree add\"."
@@ -11962,7 +12251,7 @@ msgstr ""
 "không thể chuyển nhánh trong khi  cherry-picking\n"
 "Cân nhắc dùng \"git cherry-pick --quit\" hay \"git worktree add\"."
 
-#: builtin/checkout.c:1408
+#: builtin/checkout.c:1407
 msgid ""
 "cannot switch branch while reverting\n"
 "Consider \"git revert --quit\" or \"git worktree add\"."
@@ -11970,150 +12259,143 @@ msgstr ""
 "không thể chuyển nhánh trong khi hoàn nguyên\n"
 "Cân nhắc dùng \"git revert --quit\" hoặc \"git worktree add\"."
 
-#: builtin/checkout.c:1412
+#: builtin/checkout.c:1411
 msgid "you are switching branch while bisecting"
 msgstr ""
 "bạn hiện tại đang thực hiện việc chuyển nhánh trong khi đang di chuyển nửa "
 "bước"
 
-#: builtin/checkout.c:1419
+#: builtin/checkout.c:1418
 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:1422 builtin/checkout.c:1426 builtin/checkout.c:1430
+#: builtin/checkout.c:1421 builtin/checkout.c:1425 builtin/checkout.c:1429
 #, 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:1434 builtin/checkout.c:1437 builtin/checkout.c:1440
-#: builtin/checkout.c:1445 builtin/checkout.c:1450
+#: builtin/checkout.c:1433 builtin/checkout.c:1436 builtin/checkout.c:1439
+#: builtin/checkout.c:1444 builtin/checkout.c:1449
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "“%s” không thể được dùng với “%s”"
 
-#: builtin/checkout.c:1447
+#: builtin/checkout.c:1446
 #, c-format
 msgid "'%s' cannot take <start-point>"
 msgstr "“%s” không thể nhận <điểm-đầu>"
 
-#: builtin/checkout.c:1455
+#: builtin/checkout.c:1454
 #, 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:1462
+#: builtin/checkout.c:1461
 msgid "missing branch or commit argument"
 msgstr "thiếu tham số là nhánh hoặc lần chuyển giao"
 
-#: builtin/checkout.c:1504 builtin/clone.c:92 builtin/commit-graph.c:84
-#: builtin/commit-graph.c:222 builtin/fetch.c:172 builtin/merge.c:296
-#: builtin/multi-pack-index.c:27 builtin/pull.c:119 builtin/push.c:575
-#: builtin/send-pack.c:198
-msgid "force progress reporting"
-msgstr "ép buộc báo cáo tiến triển công việc"
-
-#: builtin/checkout.c:1505
+#: builtin/checkout.c:1504
 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:1506 builtin/log.c:1800 parse-options.h:322
+#: builtin/checkout.c:1505 builtin/log.c:1799 parse-options.h:322
 msgid "style"
 msgstr "kiểu"
 
-#: builtin/checkout.c:1507
+#: builtin/checkout.c:1506
 msgid "conflict style (merge or diff3)"
 msgstr "xung đột kiểu (hòa trộn hoặc diff3)"
 
-#: builtin/checkout.c:1519 builtin/worktree.c:558
+#: builtin/checkout.c:1518 builtin/worktree.c:486
 msgid "detach HEAD at named commit"
 msgstr "rời bỏ HEAD tại lần chuyển giao theo tên"
 
-#: builtin/checkout.c:1520
+#: builtin/checkout.c:1519
 msgid "set upstream info for new branch"
 msgstr "đặt thông tin thượng nguồn cho nhánh mới"
 
-#: builtin/checkout.c:1522
+#: builtin/checkout.c:1521
 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:1524
+#: builtin/checkout.c:1523
 msgid "new-branch"
 msgstr "nhánh-mới"
 
-#: builtin/checkout.c:1524
+#: builtin/checkout.c:1523
 msgid "new unparented branch"
 msgstr "nhánh không cha mới"
 
-#: builtin/checkout.c:1526 builtin/merge.c:300
+#: builtin/checkout.c:1525 builtin/merge.c:301
 msgid "update ignored files (default)"
 msgstr "cập nhật các tập tin bị bỏ qua (mặc định)"
 
-#: builtin/checkout.c:1529
+#: builtin/checkout.c:1528
 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:1542
+#: builtin/checkout.c:1541
 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:1545
+#: builtin/checkout.c:1544
 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:1549
+#: builtin/checkout.c:1548
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "không giới hạn đặc tả đường dẫn thành chỉ các mục rải rác"
 
-#: builtin/checkout.c:1604
+#: builtin/checkout.c:1603
 #, c-format
 msgid "-%c, -%c and --orphan are mutually exclusive"
 msgstr "-%c, -%c và --orphan loại từ lẫn nhau"
 
-#: builtin/checkout.c:1608
+#: builtin/checkout.c:1607
 msgid "-p and --overlay are mutually exclusive"
 msgstr "-p và --overlay loại từ lẫn nhau"
 
-#: builtin/checkout.c:1645
+#: builtin/checkout.c:1644
 msgid "--track needs a branch name"
 msgstr "--track cần tên một nhánh"
 
-#: builtin/checkout.c:1650
+#: builtin/checkout.c:1649
 #, c-format
 msgid "missing branch name; try -%c"
 msgstr "thiếu tên nhánh; hãy thử -%c"
 
-#: builtin/checkout.c:1682
+#: builtin/checkout.c:1681
 #, c-format
 msgid "could not resolve %s"
 msgstr "không thể phân giải “%s”"
 
-#: builtin/checkout.c:1698
+#: builtin/checkout.c:1697
 msgid "invalid path specification"
 msgstr "đường dẫn đã cho không hợp lệ"
 
-#: builtin/checkout.c:1705
+#: builtin/checkout.c:1704
 #, 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:1709
+#: builtin/checkout.c:1708
 #, 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:1718
+#: builtin/checkout.c:1717
 msgid "--pathspec-from-file is incompatible with --detach"
 msgstr "--pathspec-from-file xung khắc với --detach"
 
-#: builtin/checkout.c:1721 builtin/reset.c:325 builtin/stash.c:1499
+#: builtin/checkout.c:1720 builtin/reset.c:325 builtin/stash.c:1566
 msgid "--pathspec-from-file is incompatible with --patch"
 msgstr "--pathspec-from-file xung khắc với --patch"
 
-#: builtin/checkout.c:1734
+#: builtin/checkout.c:1733
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -12121,70 +12403,70 @@ msgstr ""
 "git checkout: --ours/--theirs, --force và --merge là xung khắc với nhau khi\n"
 "checkout bảng mục lục (index)."
 
-#: builtin/checkout.c:1739
+#: builtin/checkout.c:1738
 msgid "you must specify path(s) to restore"
 msgstr "bạn phải chỉ định các thư mục muốn hồi phục"
 
-#: builtin/checkout.c:1765 builtin/checkout.c:1767 builtin/checkout.c:1816
-#: builtin/checkout.c:1818 builtin/clone.c:122 builtin/remote.c:170
-#: builtin/remote.c:172 builtin/submodule--helper.c:2719 builtin/worktree.c:554
-#: builtin/worktree.c:556
+#: builtin/checkout.c:1764 builtin/checkout.c:1766 builtin/checkout.c:1815
+#: builtin/checkout.c:1817 builtin/clone.c:122 builtin/remote.c:170
+#: builtin/remote.c:172 builtin/submodule--helper.c:2719 builtin/worktree.c:482
+#: builtin/worktree.c:484
 msgid "branch"
 msgstr "nhánh"
 
-#: builtin/checkout.c:1766
+#: builtin/checkout.c:1765
 msgid "create and checkout a new branch"
 msgstr "tạo và checkout một nhánh mới"
 
-#: builtin/checkout.c:1768
+#: builtin/checkout.c:1767
 msgid "create/reset and checkout a branch"
 msgstr "tạo/đặt_lại và checkout một nhánh"
 
-#: builtin/checkout.c:1769
+#: builtin/checkout.c:1768
 msgid "create reflog for new branch"
 msgstr "tạo reflog cho nhánh mới"
 
-#: builtin/checkout.c:1771
+#: builtin/checkout.c:1770
 msgid "second guess 'git checkout <no-such-branch>' (default)"
 msgstr "đoán thứ hai “git checkout <không-nhánh-nào-như-vậy>” (mặc định)"
 
-#: builtin/checkout.c:1772
+#: builtin/checkout.c:1771
 msgid "use overlay mode (default)"
 msgstr "dùng chế độ che phủ (mặc định)"
 
-#: builtin/checkout.c:1817
+#: builtin/checkout.c:1816
 msgid "create and switch to a new branch"
 msgstr "tạo và chuyển đến một nhánh mới"
 
-#: builtin/checkout.c:1819
+#: builtin/checkout.c:1818
 msgid "create/reset and switch to a branch"
 msgstr "tạo/đặt_lại và chuyển đến một nhánh"
 
-#: builtin/checkout.c:1821
+#: builtin/checkout.c:1820
 msgid "second guess 'git switch <no-such-branch>'"
 msgstr "gợi ý thứ hai \"git checkout <không-nhánh-nào-như-vậy>\""
 
-#: builtin/checkout.c:1823
+#: builtin/checkout.c:1822
 msgid "throw away local modifications"
 msgstr "vứt bỏ các sửa đổi địa phương"
 
-#: builtin/checkout.c:1857
+#: builtin/checkout.c:1856
 msgid "which tree-ish to checkout from"
 msgstr "lấy ra từ tree-ish nào"
 
-#: builtin/checkout.c:1859
+#: builtin/checkout.c:1858
 msgid "restore the index"
 msgstr "phục hồi bảng mục lục"
 
-#: builtin/checkout.c:1861
+#: builtin/checkout.c:1860
 msgid "restore the working tree (default)"
 msgstr "phục hồi cây làm việc (mặc định)"
 
-#: builtin/checkout.c:1863
+#: builtin/checkout.c:1862
 msgid "ignore unmerged entries"
 msgstr "bỏ qua những thứ chưa hòa trộn: %s"
 
-#: builtin/checkout.c:1864
+#: builtin/checkout.c:1863
 msgid "use overlay mode"
 msgstr "dùng chế độ che phủ"
 
@@ -12329,8 +12611,8 @@ msgid "remove whole directories"
 msgstr "gỡ bỏ toàn bộ thư mục"
 
 #: builtin/clean.c:909 builtin/describe.c:565 builtin/describe.c:567
-#: builtin/grep.c:921 builtin/log.c:183 builtin/log.c:185
-#: builtin/ls-files.c:558 builtin/name-rev.c:526 builtin/name-rev.c:528
+#: builtin/grep.c:922 builtin/log.c:184 builtin/log.c:186
+#: builtin/ls-files.c:573 builtin/name-rev.c:526 builtin/name-rev.c:528
 #: builtin/show-ref.c:179
 msgid "pattern"
 msgstr "mẫu"
@@ -12426,7 +12708,7 @@ msgid "use --reference only while cloning"
 msgstr "chỉ dùng --reference khi nhân bản"
 
 #: builtin/clone.c:120 builtin/column.c:27 builtin/init-db.c:563
-#: builtin/merge-file.c:46 builtin/pack-objects.c:3546 builtin/repack.c:358
+#: builtin/merge-file.c:46 builtin/pack-objects.c:3561 builtin/repack.c:357
 msgid "name"
 msgstr "tên"
 
@@ -12442,7 +12724,7 @@ msgstr "lấy ra <nhánh> thay cho HEAD của máy chủ"
 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:126 builtin/fetch.c:173 builtin/grep.c:860
+#: builtin/clone.c:126 builtin/fetch.c:176 builtin/grep.c:861
 #: builtin/pull.c:208
 msgid "depth"
 msgstr "độ-sâu"
@@ -12451,7 +12733,7 @@ msgstr "độ-sâu"
 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:128 builtin/fetch.c:175 builtin/pack-objects.c:3535
+#: builtin/clone.c:128 builtin/fetch.c:178 builtin/pack-objects.c:3550
 #: builtin/pull.c:211
 msgid "time"
 msgstr "thời-gian"
@@ -12460,12 +12742,12 @@ msgstr "thời-gian"
 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:130 builtin/fetch.c:177 builtin/fetch.c:200
-#: builtin/pull.c:214 builtin/pull.c:239 builtin/rebase.c:1317
+#: builtin/clone.c:130 builtin/fetch.c:180 builtin/fetch.c:203
+#: builtin/pull.c:214 builtin/pull.c:239 builtin/rebase.c:1323
 msgid "revision"
 msgstr "điểm xét duyệt"
 
-#: builtin/clone.c:131 builtin/fetch.c:178 builtin/pull.c:215
+#: builtin/clone.c:131 builtin/fetch.c:181 builtin/pull.c:215
 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ừ"
 
@@ -12500,22 +12782,22 @@ msgstr "khóa=giá_trị"
 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:143 builtin/fetch.c:195 builtin/ls-remote.c:76
+#: builtin/clone.c:143 builtin/fetch.c:198 builtin/ls-remote.c:77
 #: builtin/pull.c:230 builtin/push.c:584 builtin/send-pack.c:196
 msgid "server-specific"
 msgstr "đặc-tả-máy-phục-vụ"
 
-#: builtin/clone.c:143 builtin/fetch.c:195 builtin/ls-remote.c:76
+#: builtin/clone.c:143 builtin/fetch.c:198 builtin/ls-remote.c:77
 #: builtin/pull.c:231 builtin/push.c:584 builtin/send-pack.c:197
 msgid "option to transmit"
 msgstr "tùy chọn để chuyển giao"
 
-#: builtin/clone.c:144 builtin/fetch.c:196 builtin/pull.c:234
+#: builtin/clone.c:144 builtin/fetch.c:199 builtin/pull.c:234
 #: builtin/push.c:585
 msgid "use IPv4 addresses only"
 msgstr "chỉ dùng địa chỉ IPv4"
 
-#: builtin/clone.c:146 builtin/fetch.c:198 builtin/pull.c:237
+#: builtin/clone.c:146 builtin/fetch.c:201 builtin/pull.c:237
 #: builtin/push.c:587
 msgid "use IPv6 addresses only"
 msgstr "chỉ dùng địa chỉ IPv6"
@@ -12615,71 +12897,71 @@ msgstr "không thể đóng gói để dọn dẹp"
 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:992 builtin/receive-pack.c:2493
+#: builtin/clone.c:993 builtin/receive-pack.c:2493
 msgid "Too many arguments."
 msgstr "Có quá nhiều đối số."
 
-#: builtin/clone.c:996
+#: builtin/clone.c:997
 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:1009
+#: builtin/clone.c:1010
 #, 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:1012
+#: builtin/clone.c:1013
 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:1025
+#: builtin/clone.c:1026
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "kho chứa “%s” chưa tồn tại"
 
-#: builtin/clone.c:1029 builtin/fetch.c:1841
+#: builtin/clone.c:1030 builtin/fetch.c:1951
 #, 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:1039
+#: builtin/clone.c:1040
 #, 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:1045
+#: builtin/clone.c:1046
 #, c-format
 msgid "repository path '%s' already exists and is not an empty directory."
 msgstr ""
 "đường dẫn kho chứa “%s” đã có từ trước và không phải là một thư mục rỗng."
 
-#: builtin/clone.c:1059
+#: builtin/clone.c:1060
 #, 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:1074 builtin/clone.c:1095 builtin/difftool.c:271
-#: builtin/log.c:1987 builtin/worktree.c:354 builtin/worktree.c:386
+#: builtin/clone.c:1075 builtin/clone.c:1096 builtin/difftool.c:271
+#: builtin/log.c:1986 builtin/worktree.c:282 builtin/worktree.c:314
 #, 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:1079
+#: builtin/clone.c:1080
 #, 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:1099
+#: builtin/clone.c:1100
 #, 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:1101
+#: builtin/clone.c:1102
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Đang nhân bản thành “%s”…\n"
 
-#: builtin/clone.c:1125
+#: builtin/clone.c:1126
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -12687,46 +12969,46 @@ msgstr ""
 "nhân bản --recursive không tương thích với cả hai --reference và --reference-"
 "if-able"
 
-#: builtin/clone.c:1169 builtin/remote.c:200 builtin/remote.c:705
+#: builtin/clone.c:1170 builtin/remote.c:200 builtin/remote.c:705
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "“%s” không phải tên máy chủ hợp lệ"
 
-#: builtin/clone.c:1210
+#: builtin/clone.c:1211
 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:1212
+#: builtin/clone.c:1213
 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:1214
+#: builtin/clone.c:1215
 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:1216
+#: builtin/clone.c:1217
 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:1219
+#: builtin/clone.c:1220
 msgid "source repository is shallow, ignoring --local"
 msgstr "kho nguồn là nông, nên bỏ qua --local"
 
-#: builtin/clone.c:1224
+#: builtin/clone.c:1225
 msgid "--local is ignored"
 msgstr "--local bị lờ đi"
 
-#: builtin/clone.c:1311 builtin/clone.c:1319
+#: builtin/clone.c:1315 builtin/clone.c:1323
 #, 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:1322
+#: builtin/clone.c:1326
 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."
 
@@ -12786,14 +13068,14 @@ msgid "could not find object directory matching %s"
 msgstr "không thể tìm thấy thư mục đối tượng khớp với “%s”"
 
 #: builtin/commit-graph.c:80 builtin/commit-graph.c:210
-#: builtin/commit-graph.c:316 builtin/fetch.c:184 builtin/log.c:1769
+#: builtin/commit-graph.c:316 builtin/fetch.c:187 builtin/log.c:1768
 msgid "dir"
 msgstr "tmục"
 
 #: builtin/commit-graph.c:81 builtin/commit-graph.c:211
 #: builtin/commit-graph.c:317
-msgid "The object directory to store the graph"
-msgstr "Thư mục đối tượng để lưu đồ thị"
+msgid "the object directory to store the graph"
+msgstr "thư mục đối tượng để lưu đồ thị"
 
 #: builtin/commit-graph.c:83
 msgid "if the commit-graph is split, only verify the tip file"
@@ -12889,7 +13171,7 @@ msgstr ""
 msgid "duplicate parent %s ignored"
 msgstr "cha mẹ bị trùng lặp %s đã bị bỏ qua"
 
-#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:555
+#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:557
 #, c-format
 msgid "not a valid object name %s"
 msgstr "không phải là tên đối tượng hợp lệ “%s”"
@@ -12917,9 +13199,9 @@ msgstr "cha-mẹ"
 msgid "id of a parent commit object"
 msgstr "mã số của đối tượng chuyển giao cha mẹ"
 
-#: builtin/commit-tree.c:114 builtin/commit.c:1504 builtin/merge.c:281
-#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1470
-#: builtin/tag.c:413
+#: builtin/commit-tree.c:114 builtin/commit.c:1504 builtin/merge.c:282
+#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1537
+#: builtin/tag.c:445
 msgid "message"
 msgstr "chú thích"
 
@@ -12931,7 +13213,7 @@ msgstr "chú thích của lần chuyển giao"
 msgid "read commit log message from file"
 msgstr "đọc chú thích nhật ký lần chuyển giao từ tập tin"
 
-#: builtin/commit-tree.c:121 builtin/commit.c:1516 builtin/merge.c:298
+#: builtin/commit-tree.c:121 builtin/commit.c:1516 builtin/merge.c:299
 #: builtin/pull.c:176 builtin/revert.c:118
 msgid "GPG sign commit"
 msgstr "Ký lần chuyển giao dùng GPG"
@@ -13092,7 +13374,7 @@ msgstr ""
 msgid "could not lookup commit %s"
 msgstr "không thể tìm kiếm commit (lần chuyển giao) %s"
 
-#: builtin/commit.c:729 builtin/shortlog.c:425
+#: builtin/commit.c:729 builtin/shortlog.c:413
 #, 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"
@@ -13192,7 +13474,7 @@ msgstr "Không đọc được bảng mục lục"
 msgid "Error building trees"
 msgstr "Gặp lỗi khi xây dựng cây"
 
-#: builtin/commit.c:1011 builtin/tag.c:276
+#: builtin/commit.c:1011 builtin/tag.c:308
 #, 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"
@@ -13291,7 +13573,7 @@ msgid "version"
 msgstr "phiên bản"
 
 #: builtin/commit.c:1374 builtin/commit.c:1533 builtin/push.c:560
-#: builtin/worktree.c:725
+#: builtin/worktree.c:679
 msgid "machine-readable output"
 msgstr "kết xuất dạng máy-có-thể-đọc"
 
@@ -13305,7 +13587,7 @@ msgstr "chấm dứt các mục bằng NUL"
 
 #: builtin/commit.c:1382 builtin/commit.c:1386 builtin/commit.c:1541
 #: builtin/fast-export.c:1198 builtin/fast-export.c:1201
-#: builtin/fast-export.c:1204 builtin/rebase.c:1406 parse-options.h:336
+#: builtin/fast-export.c:1204 builtin/rebase.c:1412 parse-options.h:336
 msgid "mode"
 msgstr "chế độ"
 
@@ -13364,7 +13646,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:1501 builtin/merge.c:285 builtin/tag.c:415
+#: builtin/commit.c:1501 builtin/merge.c:286 builtin/tag.c:447
 msgid "read message from file"
 msgstr "đọc chú thích từ tập tin"
 
@@ -13376,7 +13658,7 @@ msgstr "tác giả"
 msgid "override author for commit"
 msgstr "ghi đè tác giả cho commit"
 
-#: builtin/commit.c:1503 builtin/gc.c:542
+#: builtin/commit.c:1503 builtin/gc.c:550
 msgid "date"
 msgstr "ngày tháng"
 
@@ -13385,7 +13667,7 @@ msgid "override date for commit"
 msgstr "ghi đè ngày tháng cho lần chuyển giao"
 
 #: builtin/commit.c:1505 builtin/commit.c:1506 builtin/commit.c:1507
-#: builtin/commit.c:1508 parse-options.h:328 ref-filter.h:87
+#: builtin/commit.c:1508 parse-options.h:328 ref-filter.h:90
 msgid "commit"
 msgstr "lần_chuyển_giao"
 
@@ -13413,7 +13695,7 @@ msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr ""
 "lần chuyển giao nhận tôi là tác giả (được dùng với tùy chọn -C/-c/--amend)"
 
-#: builtin/commit.c:1510 builtin/log.c:1744 builtin/merge.c:301
+#: builtin/commit.c:1510 builtin/log.c:1743 builtin/merge.c:302
 #: builtin/pull.c:145 builtin/revert.c:110
 msgid "add a Signed-off-by trailer"
 msgstr "thêm dòng Signed-off-by vào cuối"
@@ -14052,41 +14334,41 @@ msgstr "--stdin và --merge-base loại từ lẫn nhau"
 msgid "--merge-base only works with two commits"
 msgstr "--merge-base chỉ hoạt động với hai lần chuyển giao"
 
-#: builtin/diff.c:91
+#: builtin/diff.c:92
 #, c-format
 msgid "'%s': not a regular file or symlink"
 msgstr "“%s”: không phải tập tin bình thường hay liên kết mềm"
 
-#: builtin/diff.c:258
+#: builtin/diff.c:259
 #, c-format
 msgid "invalid option: %s"
 msgstr "tùy chọn không hợp lệ: %s"
 
-#: builtin/diff.c:375
+#: builtin/diff.c:376
 #, c-format
 msgid "%s...%s: no merge base"
 msgstr "%s…%s: không có cơ sở hòa trộn"
 
-#: builtin/diff.c:485
+#: builtin/diff.c:486
 msgid "Not a git repository"
 msgstr "Không phải là kho git"
 
-#: builtin/diff.c:530 builtin/grep.c:681
+#: builtin/diff.c:532 builtin/grep.c:682
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "đối tượng đã cho “%s” không hợp lệ."
 
-#: builtin/diff.c:541
+#: builtin/diff.c:543
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "đã cho nhiều hơn hai đối tượng blob: “%s”"
 
-#: builtin/diff.c:546
+#: builtin/diff.c:548
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "đã cho đối tượng không thể nắm giữ “%s”."
 
-#: builtin/diff.c:580
+#: builtin/diff.c:582
 #, c-format
 msgid "%s...%s: multiple merge bases, using %s"
 msgstr "%s…%s: có nhiều cơ sở để hòa trộn, nên dùng %s"
@@ -14268,40 +14550,40 @@ msgstr ""
 "chọn bộ xử lý cho các ghi chú của lần chuyển giao theo một bộ mã thay thế"
 
 #: builtin/fast-export.c:1208
-msgid "Dump marks to this file"
-msgstr "Ä\90ổ các đánh dấu này vào tập-tin"
+msgid "dump marks to this file"
+msgstr "Ä\91ổ các đánh dấu này vào tập-tin"
 
 #: builtin/fast-export.c:1210
-msgid "Import marks from this file"
-msgstr "Nhập vào đánh dấu từ tập tin này"
+msgid "import marks from this file"
+msgstr "nhập vào đánh dấu từ tập tin này"
 
 #: builtin/fast-export.c:1214
-msgid "Import marks from this file if it exists"
-msgstr "Nhập vào đánh dấu từ tập tin sẵn có"
+msgid "import marks from this file if it exists"
+msgstr "nhập vào đánh dấu từ tập tin sẵn có"
 
 #: builtin/fast-export.c:1216
-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"
+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:1218
-msgid "Output full tree for each commit"
-msgstr "Xuất ra toàn bộ cây cho mỗi lần chuyển giao"
+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:1220
-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"
+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:1221
-msgid "Skip output of blob data"
-msgstr "Bỏ qua kết xuất của dữ liệu blob"
+msgid "skip output of blob data"
+msgstr "bỏ qua kết xuất của dữ liệu blob"
 
-#: builtin/fast-export.c:1222 builtin/log.c:1816
+#: builtin/fast-export.c:1222 builtin/log.c:1815
 msgid "refspec"
 msgstr "refspec"
 
 #: builtin/fast-export.c:1223
-msgid "Apply refspec to exported refs"
-msgstr "Ã\81p dụng refspec cho refs đã xuất"
+msgid "apply refspec to exported refs"
+msgstr "áp dụng refspec cho refs đã xuất"
 
 #: builtin/fast-export.c:1224
 msgid "anonymize output"
@@ -14316,18 +14598,18 @@ msgid "convert <from> to <to> in anonymized output"
 msgstr "chuyển đổi <from> sang <to> đầu ra ẩn danh"
 
 #: builtin/fast-export.c:1229
-msgid "Reference parents which are not in fast-export stream by object id"
+msgid "reference parents which are not in fast-export stream by object id"
 msgstr ""
-"Các cha mẹ tham chiếu cái mà k trong luồng dữ liệu fast-export bởi mã id đối "
-"tượng"
+"các cha mẹ tham chiếu cái mà không trong luồng dữ liệu fast-export bởi mã id "
+"đối tượng"
 
 #: builtin/fast-export.c:1231
-msgid "Show original object ids of blobs/commits"
-msgstr "Hiển thị các mã id nguyên gốc của blobs/commits"
+msgid "show original object ids of blobs/commits"
+msgstr "hiển thị các mã id nguyên gốc của blobs/commits"
 
 #: builtin/fast-export.c:1233
-msgid "Label tags with mark ids"
-msgstr "Gắn nhãn thẻ ID dấu"
+msgid "label tags with mark ids"
+msgstr "gắn thẻ với các mã ID đánh dấu"
 
 #: builtin/fast-export.c:1256
 msgid "--anonymize-map without --anonymize does not make sense"
@@ -14367,7 +14649,7 @@ msgid "feature '%s' forbidden in input without --allow-unsafe-features"
 msgstr ""
 "tính năng “%s” bị cấm chỉ trong đầu vào mà không có --allow-unsafe-features"
 
-#: builtin/fetch-pack.c:241
+#: builtin/fetch-pack.c:242
 #, c-format
 msgid "Lockfile created but not reported: %s"
 msgstr "Tập tin khóa đã được tạo nhưng chưa được báo cáo: %s"
@@ -14388,94 +14670,98 @@ msgstr "git fetch --multiple [<các tùy chọn>] [(<kho> | <nhóm>)…]"
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<các tùy chọn>]"
 
-#: builtin/fetch.c:119
+#: builtin/fetch.c:120
 msgid "fetch.parallel cannot be negative"
 msgstr "fetch.parallel không thể âm"
 
-#: builtin/fetch.c:142 builtin/pull.c:185
+#: builtin/fetch.c:143 builtin/pull.c:185
 msgid "fetch from all remotes"
 msgstr "lấy về từ tất cả các máy chủ"
 
-#: builtin/fetch.c:144 builtin/pull.c:245
+#: builtin/fetch.c:145 builtin/pull.c:245
 msgid "set upstream for git pull/fetch"
 msgstr "đặt thượng nguồn cho git pull/fetch"
 
-#: builtin/fetch.c:146 builtin/pull.c:188
+#: builtin/fetch.c:147 builtin/pull.c:188
 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:148 builtin/pull.c:191
+#: builtin/fetch.c:149
+msgid "use atomic transaction to update references"
+msgstr "sử dụng giao dịch hạt nhân bên phía máy chủ"
+
+#: builtin/fetch.c:151 builtin/pull.c:191
 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:149
+#: builtin/fetch.c:152
 msgid "force overwrite of local reference"
 msgstr "ép buộc ghi đè lên tham chiếu nội bộ"
 
-#: builtin/fetch.c:151
+#: builtin/fetch.c:154
 msgid "fetch from multiple remotes"
 msgstr "lấy từ nhiều máy chủ cùng lúc"
 
-#: builtin/fetch.c:153 builtin/pull.c:195
+#: builtin/fetch.c:156 builtin/pull.c:195
 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:155
+#: builtin/fetch.c:158
 msgid "do not fetch all tags (--no-tags)"
 msgstr "không lấy tất cả các thẻ (--no-tags)"
 
-#: builtin/fetch.c:157
+#: builtin/fetch.c:160
 msgid "number of submodules fetched in parallel"
 msgstr "số lượng mô-đun-con được lấy đồng thời"
 
-#: builtin/fetch.c:159 builtin/pull.c:198
+#: builtin/fetch.c:162 builtin/pull.c:198
 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:161
+#: builtin/fetch.c:164
 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:162 builtin/fetch.c:187 builtin/pull.c:122
+#: builtin/fetch.c:165 builtin/fetch.c:190 builtin/pull.c:122
 msgid "on-demand"
 msgstr "khi-cần"
 
-#: builtin/fetch.c:163
+#: builtin/fetch.c:166
 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:168
+#: builtin/fetch.c:171
 msgid "write fetched references to the FETCH_HEAD file"
 msgstr "ghi các tham chiếu lấy về vào tập tin FETCH_HEAD"
 
-#: builtin/fetch.c:169 builtin/pull.c:206
+#: builtin/fetch.c:172 builtin/pull.c:206
 msgid "keep downloaded pack"
 msgstr "giữ lại gói đã tải về"
 
-#: builtin/fetch.c:171
+#: builtin/fetch.c:174
 msgid "allow updating of HEAD ref"
 msgstr "cho phép cập nhật th.chiếu HEAD"
 
-#: builtin/fetch.c:174 builtin/fetch.c:180 builtin/pull.c:209
+#: builtin/fetch.c:177 builtin/fetch.c:183 builtin/pull.c:209
 #: builtin/pull.c:218
 msgid "deepen history of shallow clone"
 msgstr "làm sâu hơn lịch sử của bản sao"
 
-#: builtin/fetch.c:176 builtin/pull.c:212
+#: builtin/fetch.c:179 builtin/pull.c:212
 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:182 builtin/pull.c:221
+#: builtin/fetch.c:185 builtin/pull.c:221
 msgid "convert to a complete repository"
 msgstr "chuyển đổi hoàn toàn sang kho git"
 
-#: builtin/fetch.c:185
+#: builtin/fetch.c:188
 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:188
+#: builtin/fetch.c:191
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
@@ -14483,99 +14769,99 @@ 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:192 builtin/pull.c:224
+#: builtin/fetch.c:195 builtin/pull.c:224
 msgid "accept refs that update .git/shallow"
 msgstr "chấp nhận tham chiếu cập nhật .git/shallow"
 
-#: builtin/fetch.c:193 builtin/pull.c:226
+#: builtin/fetch.c:196 builtin/pull.c:226
 msgid "refmap"
 msgstr "refmap"
 
-#: builtin/fetch.c:194 builtin/pull.c:227
+#: builtin/fetch.c:197 builtin/pull.c:227
 msgid "specify fetch refmap"
 msgstr "chỉ ra refmap cần lấy về"
 
-#: builtin/fetch.c:201 builtin/pull.c:240
+#: builtin/fetch.c:204 builtin/pull.c:240
 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:204 builtin/fetch.c:206
+#: builtin/fetch.c:207 builtin/fetch.c:209
 msgid "run 'maintenance --auto' after fetching"
 msgstr "chạy “maintenance --auto” sau khi lấy về"
 
-#: builtin/fetch.c:208 builtin/pull.c:243
+#: builtin/fetch.c:211 builtin/pull.c:243
 msgid "check for forced-updates on all updated branches"
 msgstr "kiểm cho các-cập-nhật-bắt-buộc trên mọi nhánh đã cập nhật"
 
-#: builtin/fetch.c:210
+#: builtin/fetch.c:213
 msgid "write the commit-graph after fetching"
 msgstr "ghi ra đồ thị các lần chuyển giao sau khi lấy về"
 
-#: builtin/fetch.c:212
+#: builtin/fetch.c:215
 msgid "accept refspecs from stdin"
 msgstr "chấp nhận tham chiếu từ đầu vào tiêu chuẩn"
 
-#: builtin/fetch.c:523
+#: builtin/fetch.c:526
 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:677
+#: builtin/fetch.c:697
 #, 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:775
+#: builtin/fetch.c:796
 #, c-format
 msgid "object %s not found"
 msgstr "không tìm thấy đối tượng %s"
 
-#: builtin/fetch.c:779
+#: builtin/fetch.c:800
 msgid "[up to date]"
 msgstr "[đã cập nhật]"
 
-#: builtin/fetch.c:792 builtin/fetch.c:808 builtin/fetch.c:880
+#: builtin/fetch.c:813 builtin/fetch.c:829 builtin/fetch.c:901
 msgid "[rejected]"
 msgstr "[Bị từ chối]"
 
-#: builtin/fetch.c:793
+#: builtin/fetch.c:814
 msgid "can't fetch in current branch"
 msgstr "không thể fetch (lấy) về nhánh hiện hành"
 
-#: builtin/fetch.c:803
+#: builtin/fetch.c:824
 msgid "[tag update]"
 msgstr "[cập nhật thẻ]"
 
-#: builtin/fetch.c:804 builtin/fetch.c:841 builtin/fetch.c:863
-#: builtin/fetch.c:875
+#: builtin/fetch.c:825 builtin/fetch.c:862 builtin/fetch.c:884
+#: builtin/fetch.c:896
 msgid "unable to update local ref"
 msgstr "không thể cập nhật tham chiếu nội bộ"
 
-#: builtin/fetch.c:808
+#: builtin/fetch.c:829
 msgid "would clobber existing tag"
 msgstr "nên xóa chồng các thẻ có sẵn"
 
-#: builtin/fetch.c:830
+#: builtin/fetch.c:851
 msgid "[new tag]"
 msgstr "[thẻ mới]"
 
-#: builtin/fetch.c:833
+#: builtin/fetch.c:854
 msgid "[new branch]"
 msgstr "[nhánh mới]"
 
-#: builtin/fetch.c:836
+#: builtin/fetch.c:857
 msgid "[new ref]"
 msgstr "[ref (tham chiếu) mới]"
 
-#: builtin/fetch.c:875
+#: builtin/fetch.c:896
 msgid "forced update"
 msgstr "cưỡng bức cập nhật"
 
-#: builtin/fetch.c:880
+#: builtin/fetch.c:901
 msgid "non-fast-forward"
 msgstr "không-phải-chuyển-tiếp-nhanh"
 
-#: builtin/fetch.c:901
+#: builtin/fetch.c:1005
 msgid ""
 "Fetch normally indicates which branches had a forced update,\n"
 "but that check has been disabled. To re-enable, use '--show-forced-updates'\n"
@@ -14585,7 +14871,7 @@ msgstr ""
 "nhưng lựa chọn bị tắt. Để kích hoạt lại, sử dụng cờ\n"
 "“--show-forced-updates” hoặc chạy “git config fetch.showForcedUpdates true”."
 
-#: builtin/fetch.c:905
+#: builtin/fetch.c:1009
 #, c-format
 msgid ""
 "It took %.2f seconds to check forced updates. You can use\n"
@@ -14598,22 +14884,22 @@ msgstr ""
 "false”\n"
 "để tránh kiểm tra này.\n"
 
-#: builtin/fetch.c:939
+#: builtin/fetch.c:1041
 #, 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:960
+#: builtin/fetch.c:1069
 #, 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:1053 builtin/fetch.c:1191
+#: builtin/fetch.c:1146 builtin/fetch.c:1297
 #, c-format
 msgid "From %.*s\n"
 msgstr "Từ %.*s\n"
 
-#: builtin/fetch.c:1064
+#: builtin/fetch.c:1168
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -14622,58 +14908,58 @@ 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:1161
+#: builtin/fetch.c:1267
 #, 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:1162
+#: builtin/fetch.c:1268
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s đã trở thành không đầu (không được quản lý))"
 
-#: builtin/fetch.c:1194
+#: builtin/fetch.c:1300
 msgid "[deleted]"
 msgstr "[đã xóa]"
 
-#: builtin/fetch.c:1195 builtin/remote.c:1118
+#: builtin/fetch.c:1301 builtin/remote.c:1118
 msgid "(none)"
 msgstr "(không)"
 
-#: builtin/fetch.c:1218
+#: builtin/fetch.c:1324
 #, 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:1237
+#: builtin/fetch.c:1343
 #, 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:1240
+#: builtin/fetch.c:1346
 #, 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:1448
+#: builtin/fetch.c:1558
 msgid "multiple branches detected, incompatible with --set-upstream"
 msgstr "phát hiện nhiều nhánh, không tương thích với --set-upstream"
 
-#: builtin/fetch.c:1463
+#: builtin/fetch.c:1573
 msgid "not setting upstream for a remote remote-tracking branch"
 msgstr "không cài đặt thượng nguồn cho một nhánh được theo dõi trên máy chủ"
 
-#: builtin/fetch.c:1465
+#: builtin/fetch.c:1575
 msgid "not setting upstream for a remote tag"
 msgstr "không cài đặt thượng nguồn cho một thẻ nhánh trên máy chủ"
 
-#: builtin/fetch.c:1467
+#: builtin/fetch.c:1577
 msgid "unknown branch type"
 msgstr "không hiểu kiểu nhánh"
 
-#: builtin/fetch.c:1469
+#: builtin/fetch.c:1579
 msgid ""
 "no source branch found.\n"
 "you need to specify exactly one branch with the --set-upstream option."
@@ -14681,22 +14967,22 @@ msgstr ""
 "không tìm thấy nhánh nguồn.\n"
 "bạn cần phải chỉ định chính xác một nhánh với tùy chọn --set-upstream."
 
-#: builtin/fetch.c:1598 builtin/fetch.c:1661
+#: builtin/fetch.c:1708 builtin/fetch.c:1771
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Đang lấy “%s” về\n"
 
-#: builtin/fetch.c:1608 builtin/fetch.c:1663 builtin/remote.c:101
+#: builtin/fetch.c:1718 builtin/fetch.c:1773 builtin/remote.c:101
 #, c-format
 msgid "Could not fetch %s"
 msgstr "Không thể lấy“%s” về"
 
-#: builtin/fetch.c:1620
+#: builtin/fetch.c:1730
 #, c-format
 msgid "could not fetch '%s' (exit code: %d)\n"
 msgstr "không thể lấy “%s” (mã thoát: %d)\n"
 
-#: builtin/fetch.c:1724
+#: builtin/fetch.c:1834
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -14704,44 +14990,44 @@ msgstr ""
 "Chưa chỉ ra kho chứa máy chủ.  Xin hãy chỉ định hoặc là URL hoặc\n"
 "tên máy chủ từ cái mà những điểm xét duyệt mới có thể được fetch (lấy về)."
 
-#: builtin/fetch.c:1760
+#: builtin/fetch.c:1870
 msgid "You need to specify a tag name."
 msgstr "Bạn phải định rõ tên thẻ."
 
-#: builtin/fetch.c:1825
+#: builtin/fetch.c:1935
 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:1827
+#: builtin/fetch.c:1937
 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:1832
+#: builtin/fetch.c:1942
 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:1834
+#: builtin/fetch.c:1944
 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:1851
+#: builtin/fetch.c:1961
 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:1853
+#: builtin/fetch.c:1963
 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:1862
+#: builtin/fetch.c:1972
 #, 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:1869
+#: builtin/fetch.c:1979
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "Việc lấy về cả một nhóm và chỉ định refspecs không hợp lý"
 
-#: builtin/fetch.c:1887
+#: builtin/fetch.c:1997
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
@@ -14749,7 +15035,11 @@ msgstr ""
 "--filter chỉ có thể được dùng với máy chủ được cấu hình bằng extensions."
 "partialclone"
 
-#: builtin/fetch.c:1891
+#: builtin/fetch.c:2001
+msgid "--atomic can only be used when fetching from one remote"
+msgstr "--atomic chỉ có thể dùng khi lấy về từ một máy chủ"
+
+#: builtin/fetch.c:2005
 msgid "--stdin can only be used when fetching from one remote"
 msgstr "--stdin chỉ có thể dùng khi lấy về từ một máy chủ"
 
@@ -14820,7 +15110,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:440
+#: builtin/for-each-ref.c:39 builtin/tag.c:472
 msgid "respect format colors"
 msgstr "các màu định dạng lưu tâm"
 
@@ -14860,32 +15150,32 @@ msgstr "khóa cấu hình lưu trữ danh sách đường dẫn kho lưu trữ"
 msgid "missing --config=<config>"
 msgstr "thiếu --config=<config>"
 
-#: builtin/fsck.c:69 builtin/fsck.c:148 builtin/fsck.c:149
+#: builtin/fsck.c:69 builtin/fsck.c:130 builtin/fsck.c:131
 msgid "unknown"
 msgstr "không hiểu"
 
 #. TRANSLATORS: e.g. error in tree 01bfda: <more explanation>
-#: builtin/fsck.c:101 builtin/fsck.c:121
+#: builtin/fsck.c:83 builtin/fsck.c:103
 #, c-format
 msgid "error in %s %s: %s"
 msgstr "lỗi trong %s %s: %s"
 
 #. TRANSLATORS: e.g. warning in tree 01bfda: <more explanation>
-#: builtin/fsck.c:115
+#: builtin/fsck.c:97
 #, c-format
 msgid "warning in %s %s: %s"
 msgstr "có cảnh báo trong %s %s: %s"
 
-#: builtin/fsck.c:144 builtin/fsck.c:147
+#: builtin/fsck.c:126 builtin/fsck.c:129
 #, c-format
 msgid "broken link from %7s %s"
 msgstr "liên kết gãy từ %7s %s"
 
-#: builtin/fsck.c:156
+#: builtin/fsck.c:138
 msgid "wrong object type in link"
 msgstr "kiểu đối tượng sai trong liên kết"
 
-#: builtin/fsck.c:172
+#: builtin/fsck.c:154
 #, c-format
 msgid ""
 "broken link from %7s %s\n"
@@ -14894,211 +15184,211 @@ msgstr ""
 "liên kết gãy từ %7s %s \n"
 "              tới %7s %s"
 
-#: builtin/fsck.c:283
+#: builtin/fsck.c:265
 #, c-format
 msgid "missing %s %s"
 msgstr "thiếu %s %s"
 
-#: builtin/fsck.c:310
+#: builtin/fsck.c:292
 #, c-format
 msgid "unreachable %s %s"
 msgstr "không tiếp cận được %s %s"
 
-#: builtin/fsck.c:330
+#: builtin/fsck.c:312
 #, c-format
 msgid "dangling %s %s"
 msgstr "dangling %s %s"
 
-#: builtin/fsck.c:340
+#: builtin/fsck.c:322
 msgid "could not create lost-found"
 msgstr "không thể tạo lost-found"
 
-#: builtin/fsck.c:351
+#: builtin/fsck.c:333
 #, c-format
 msgid "could not finish '%s'"
 msgstr "không thể hoàn thành “%s”"
 
-#: builtin/fsck.c:368
+#: builtin/fsck.c:350
 #, c-format
 msgid "Checking %s"
 msgstr "Đang kiểm tra %s"
 
-#: builtin/fsck.c:406
+#: builtin/fsck.c:388
 #, c-format
 msgid "Checking connectivity (%d objects)"
 msgstr "Đang kiểm tra kết nối (%d đối tượng)"
 
-#: builtin/fsck.c:425
+#: builtin/fsck.c:407
 #, c-format
 msgid "Checking %s %s"
 msgstr "Đang kiểm tra %s %s"
 
-#: builtin/fsck.c:430
+#: builtin/fsck.c:412
 msgid "broken links"
 msgstr "các liên kết bị gẫy"
 
-#: builtin/fsck.c:439
+#: builtin/fsck.c:421
 #, c-format
 msgid "root %s"
 msgstr "gốc %s"
 
-#: builtin/fsck.c:447
+#: builtin/fsck.c:429
 #, c-format
 msgid "tagged %s %s (%s) in %s"
 msgstr "đã đánh thẻ %s %s (%s) trong %s"
 
-#: builtin/fsck.c:476
+#: builtin/fsck.c:458
 #, c-format
 msgid "%s: object corrupt or missing"
 msgstr "%s: đối tượng thiếu hay hỏng"
 
-#: builtin/fsck.c:501
+#: builtin/fsck.c:483
 #, c-format
 msgid "%s: invalid reflog entry %s"
 msgstr "%s: mục reflog không hợp lệ %s"
 
-#: builtin/fsck.c:515
+#: builtin/fsck.c:497
 #, c-format
 msgid "Checking reflog %s->%s"
 msgstr "Đang kiểm tra việc đổi tên của “%s” thành “%s”"
 
-#: builtin/fsck.c:549
+#: builtin/fsck.c:531
 #, c-format
 msgid "%s: invalid sha1 pointer %s"
 msgstr "%s: con trỏ sha1 không hợp lệ %s"
 
-#: builtin/fsck.c:556
+#: builtin/fsck.c:538
 #, c-format
 msgid "%s: not a commit"
 msgstr "%s: không phải là một lần chuyển giao"
 
-#: builtin/fsck.c:610
+#: builtin/fsck.c:592
 msgid "notice: No default references"
 msgstr "cảnh báo: Không có các tham chiếu mặc định"
 
-#: builtin/fsck.c:625
+#: builtin/fsck.c:607
 #, c-format
 msgid "%s: object corrupt or missing: %s"
 msgstr "%s: thiếu đối tượng hoặc hỏng: %s"
 
-#: builtin/fsck.c:638
+#: builtin/fsck.c:620
 #, c-format
 msgid "%s: object could not be parsed: %s"
 msgstr "%s: không thể phân tích cú đối tượng: %s"
 
-#: builtin/fsck.c:658
+#: builtin/fsck.c:640
 #, c-format
 msgid "bad sha1 file: %s"
 msgstr "tập tin sha1 sai: %s"
 
-#: builtin/fsck.c:673
+#: builtin/fsck.c:655
 msgid "Checking object directory"
 msgstr "Đang kiểm tra thư mục đối tượng"
 
-#: builtin/fsck.c:676
+#: builtin/fsck.c:658
 msgid "Checking object directories"
 msgstr "Đang kiểm tra các thư mục đối tượng"
 
-#: builtin/fsck.c:691
+#: builtin/fsck.c:673
 #, c-format
 msgid "Checking %s link"
 msgstr "Đang lấy liên kết %s"
 
-#: builtin/fsck.c:696 builtin/index-pack.c:865
+#: builtin/fsck.c:678 builtin/index-pack.c:865
 #, c-format
 msgid "invalid %s"
 msgstr "%s không hợp lệ"
 
-#: builtin/fsck.c:703
+#: builtin/fsck.c:685
 #, c-format
 msgid "%s points to something strange (%s)"
 msgstr "%s chỉ đến thứ gì đó xa lạ (%s)"
 
-#: builtin/fsck.c:709
+#: builtin/fsck.c:691
 #, c-format
 msgid "%s: detached HEAD points at nothing"
 msgstr "%s: HEAD đã tách rời không chỉ vào đâu cả"
 
-#: builtin/fsck.c:713
+#: builtin/fsck.c:695
 #, c-format
 msgid "notice: %s points to an unborn branch (%s)"
 msgstr "chú ý: %s chỉ đến một nhánh chưa sinh (%s)"
 
-#: builtin/fsck.c:725
+#: builtin/fsck.c:707
 msgid "Checking cache tree"
 msgstr "Đang kiểm tra cây nhớ tạm"
 
-#: builtin/fsck.c:730
+#: builtin/fsck.c:712
 #, c-format
 msgid "%s: invalid sha1 pointer in cache-tree"
 msgstr "%s: con trỏ sha1 không hợp lệ trong cache-tree"
 
-#: builtin/fsck.c:739
+#: builtin/fsck.c:721
 msgid "non-tree in cache-tree"
 msgstr "non-tree trong cache-tree"
 
-#: builtin/fsck.c:770
+#: builtin/fsck.c:752
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<các tùy chọn>] [<đối-tượng>…]"
 
-#: builtin/fsck.c:776
+#: builtin/fsck.c:758
 msgid "show unreachable objects"
 msgstr "hiển thị các đối tượng không thể đọc được"
 
-#: builtin/fsck.c:777
+#: builtin/fsck.c:759
 msgid "show dangling objects"
 msgstr "hiển thị các đối tượng không được quản lý"
 
-#: builtin/fsck.c:778
+#: builtin/fsck.c:760
 msgid "report tags"
 msgstr "báo cáo các thẻ"
 
-#: builtin/fsck.c:779
+#: builtin/fsck.c:761
 msgid "report root nodes"
 msgstr "báo cáo node gốc"
 
-#: builtin/fsck.c:780
+#: builtin/fsck.c:762
 msgid "make index objects head nodes"
 msgstr "tạo “index objects head nodes”"
 
-#: builtin/fsck.c:781
+#: builtin/fsck.c:763
 msgid "make reflogs head nodes (default)"
 msgstr "tạo “reflogs head nodes” (mặc định)"
 
-#: builtin/fsck.c:782
+#: builtin/fsck.c:764
 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:783
+#: builtin/fsck.c:765
 msgid "check only connectivity"
 msgstr "chỉ kiểm tra kết nối"
 
-#: builtin/fsck.c:784
+#: builtin/fsck.c:766 builtin/mktag.c:78
 msgid "enable more strict checking"
 msgstr "cho phép kiểm tra hạn chế hơn"
 
-#: builtin/fsck.c:786
+#: builtin/fsck.c:768
 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:787 builtin/prune.c:134
+#: builtin/fsck.c:769 builtin/prune.c:134
 msgid "show progress"
 msgstr "hiển thị quá trình"
 
-#: builtin/fsck.c:788
+#: builtin/fsck.c:770
 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:847 builtin/index-pack.c:261
+#: builtin/fsck.c:829 builtin/index-pack.c:261
 msgid "Checking objects"
 msgstr "Đang kiểm tra các đối tượng"
 
-#: builtin/fsck.c:875
+#: builtin/fsck.c:857
 #, c-format
 msgid "%s: object missing"
 msgstr "%s: thiếu đối tượng"
 
-#: builtin/fsck.c:886
+#: builtin/fsck.c:868
 #, c-format
 msgid "invalid parameter: expected sha1, got '%s'"
 msgstr "tham số không hợp lệ: cần sha1, nhưng lại nhận được “%s”"
@@ -15107,27 +15397,27 @@ msgstr "tham số không hợp lệ: cần sha1, nhưng lại nhận được 
 msgid "git gc [<options>]"
 msgstr "git gc [<các tùy chọn>]"
 
-#: builtin/gc.c:94
+#: builtin/gc.c:93
 #, 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:130
+#: builtin/gc.c:129
 #, c-format
 msgid "failed to parse '%s' value '%s'"
 msgstr "gặp lỗi khi phân tích “%s” giá trị “%s”"
 
-#: builtin/gc.c:479 builtin/init-db.c:58
+#: builtin/gc.c:487 builtin/init-db.c:58
 #, c-format
 msgid "cannot stat '%s'"
 msgstr "không thể lấy thông tin thống kê về “%s”"
 
-#: builtin/gc.c:488 builtin/notes.c:240 builtin/tag.c:530
+#: builtin/gc.c:496 builtin/notes.c:240 builtin/tag.c:562
 #, c-format
 msgid "cannot read '%s'"
 msgstr "không thể đọc “%s”"
 
-#: builtin/gc.c:495
+#: builtin/gc.c:503
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -15142,54 +15432,54 @@ msgstr ""
 "\n"
 "%s"
 
-#: builtin/gc.c:543
+#: builtin/gc.c:551
 msgid "prune unreferenced objects"
 msgstr "xóa bỏ các đối tượng không được tham chiếu"
 
-#: builtin/gc.c:545
+#: builtin/gc.c:553
 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:546
+#: builtin/gc.c:554
 msgid "enable auto-gc mode"
 msgstr "bật chế độ auto-gc"
 
-#: builtin/gc.c:549
+#: builtin/gc.c:557
 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:552
+#: builtin/gc.c:560
 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:569
+#: builtin/gc.c:576
 #, 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:580
+#: builtin/gc.c:587
 #, 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:600
+#: builtin/gc.c:607
 #, 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:602
+#: builtin/gc.c:609
 #, 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:603
+#: builtin/gc.c:610
 #, 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:643
+#: builtin/gc.c:650
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
@@ -15197,143 +15487,170 @@ 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:698
+#: builtin/gc.c:705
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
 "Có quá nhiều đối tượng tự do không được dùng đến; hãy chạy lệnh “git prune” "
 "để xóa bỏ chúng đi."
 
-#: builtin/gc.c:708
+#: builtin/gc.c:715
 msgid ""
 "git maintenance run [--auto] [--[no-]quiet] [--task=<task>] [--schedule]"
 msgstr ""
 "git maintenance run [--auto] [--[no-]quiet] [--task=<nhiệm vụ>] [--schedule]"
 
-#: builtin/gc.c:738
+#: builtin/gc.c:745
 msgid "--no-schedule is not allowed"
 msgstr "--no-schedule không được phép"
 
-#: builtin/gc.c:743
+#: builtin/gc.c:750
 #, c-format
 msgid "unrecognized --schedule argument '%s'"
 msgstr "đối số --schedule không được thừa nhận %s"
 
-#: builtin/gc.c:862
+#: builtin/gc.c:869
 msgid "failed to write commit-graph"
 msgstr "gặp lỗi khi ghi đồ thị các lần chuyển giao"
 
-#: builtin/gc.c:901
+#: builtin/gc.c:914
 msgid "failed to fill remotes"
 msgstr "gặp lỗi khi điền đầy các máy chủ"
 
-#: builtin/gc.c:1024
+#: builtin/gc.c:1037
 msgid "failed to start 'git pack-objects' process"
 msgstr "gặp lỗi khi lấy thông tin thống kê về tiến trình “git pack-objects”"
 
-#: builtin/gc.c:1041
+#: builtin/gc.c:1054
 msgid "failed to finish 'git pack-objects' process"
 msgstr "gặp lỗi khi hoàn tất tiến trình “git pack-objects”"
 
-#: builtin/gc.c:1093
+#: builtin/gc.c:1106
 msgid "failed to write multi-pack-index"
 msgstr "gặp lỗi khi ghi multi-pack-index"
 
-#: builtin/gc.c:1111
+#: builtin/gc.c:1124
 msgid "'git multi-pack-index expire' failed"
 msgstr "gặp lỗi khi chạy “git multi-pack-index expire”"
 
-#: builtin/gc.c:1172
+#: builtin/gc.c:1185
 msgid "'git multi-pack-index repack' failed"
 msgstr "gặp lỗi khi chạy “git multi-pack-index repack”"
 
-#: builtin/gc.c:1181
+#: builtin/gc.c:1194
 msgid ""
 "skipping incremental-repack task because core.multiPackIndex is disabled"
 msgstr "bỏ qua tác vụ incremental-repack vì core.multiPackIndex bị vô hiệu hóa"
 
-#: builtin/gc.c:1279
+#: builtin/gc.c:1298
 #, c-format
 msgid "lock file '%s' exists, skipping maintenance"
 msgstr "đã có khóa của tập tin “%s”, bỏ qua bảo trì"
 
-#: builtin/gc.c:1309
+#: builtin/gc.c:1328
 #, c-format
 msgid "task '%s' failed"
 msgstr "gặp lỗi khi thực hiện nhiệm vụ “%s”"
 
-#: builtin/gc.c:1389
+#: builtin/gc.c:1410
 #, c-format
 msgid "'%s' is not a valid task"
 msgstr "“%s” không phải một nhiệm vụ hợp lệ"
 
-#: builtin/gc.c:1394
+#: builtin/gc.c:1415
 #, c-format
 msgid "task '%s' cannot be selected multiple times"
 msgstr "nhiệm vụ “%s” không được chọn nhiều lần"
 
-#: builtin/gc.c:1409
+#: builtin/gc.c:1430
 msgid "run tasks based on the state of the repository"
 msgstr "chạy nhiệm vụ dựa trên trạng thái của kho chứa"
 
-#: builtin/gc.c:1410
+#: builtin/gc.c:1431
 msgid "frequency"
 msgstr "tần số"
 
-#: builtin/gc.c:1411
+#: builtin/gc.c:1432
 msgid "run tasks based on frequency"
 msgstr "chạy nhiệm vụ dựa trên tần suất"
 
-#: builtin/gc.c:1414
+#: builtin/gc.c:1435
 msgid "do not report progress or other information over stderr"
 msgstr "đừng báo cáo diễn tiến hay các thông tin khác ra đầu lỗi tiêu chuẩn"
 
-#: builtin/gc.c:1415
+#: builtin/gc.c:1436
 msgid "task"
 msgstr "tác vụ"
 
-#: builtin/gc.c:1416
+#: builtin/gc.c:1437
 msgid "run a specific task"
 msgstr "chạy một nhiệm vụ cụ thể"
 
-#: builtin/gc.c:1433
+#: builtin/gc.c:1454
 msgid "use at most one of --auto and --schedule=<frequency>"
 msgstr "dùng nhiều nhất là một trong --auto và --schedule=<frequency>"
 
-#: builtin/gc.c:1467
+#: builtin/gc.c:1497
 msgid "failed to run 'git config'"
 msgstr "gặp lỗi khi chạy “git config”"
 
-#: builtin/gc.c:1512
-msgid "another process is scheduling background maintenance"
-msgstr "một tiến trình khác được lập kế hoạch chạy nền để bảo trì"
+#: builtin/gc.c:1562
+#, c-format
+msgid "failed to expand path '%s'"
+msgstr "gặp lỗi khi khai triển đường dẫn “%s”"
 
-#: builtin/gc.c:1525
+#: builtin/gc.c:1591
+msgid "failed to start launchctl"
+msgstr "gặp lỗi khi khởi chạy launchctl"
+
+#: builtin/gc.c:1628
+#, c-format
+msgid "failed to create directories for '%s'"
+msgstr "gặp lỗi khi tạo thư mục cho \"%s\""
+
+#: builtin/gc.c:1689
+#, c-format
+msgid "failed to bootstrap service %s"
+msgstr "gặp lỗi khi mồi dịch vụ %s"
+
+#: builtin/gc.c:1760
+msgid "failed to create temp xml file"
+msgstr "gặp lỗi khi tạo tập tin xml tạm thời"
+
+#: builtin/gc.c:1850
+msgid "failed to start schtasks"
+msgstr "gặp lỗi khi lấy thông tin thống kê về schtasks"
+
+#: builtin/gc.c:1894
 msgid "failed to run 'crontab -l'; your system might not support 'cron'"
 msgstr ""
 "gặp lỗi khi chạy “crontab -l”; hệ thống của bạn có thể không hỗ trợ “cron”"
 
-#: builtin/gc.c:1544
+#: builtin/gc.c:1911
 msgid "failed to run 'crontab'; your system might not support 'cron'"
 msgstr "gặp lỗi khi chạy “crontab”; hiển thị của bạn có lẽ không hỗ trợ “cron”"
 
-#: builtin/gc.c:1550
+#: builtin/gc.c:1915
 msgid "failed to open stdin of 'crontab'"
 msgstr "gặp lỗi khi mở đầu vào tiêu chuẩn của “crontab”"
 
-#: builtin/gc.c:1592
+#: builtin/gc.c:1956
 msgid "'crontab' died"
 msgstr "“crontab” đã chết"
 
-#: builtin/gc.c:1605
+#: builtin/gc.c:1990
+msgid "another process is scheduling background maintenance"
+msgstr "một tiến trình khác được lập kế hoạch chạy nền để bảo trì"
+
+#: builtin/gc.c:2009
 msgid "failed to add repo to global config"
 msgstr "gặp lỗi khi thêm cấu hình toàn cục"
 
-#: builtin/gc.c:1615
+#: builtin/gc.c:2019
 msgid "git maintenance <subcommand> [<options>]"
 msgstr "git maintenance run <lệnh_con> [<các tùy chọn>]"
 
-#: builtin/gc.c:1634
+#: builtin/gc.c:2038
 #, c-format
 msgid "invalid subcommand: %s"
 msgstr "lện con không hợp lệ: %s"
@@ -15342,12 +15659,12 @@ msgstr "lện con không hợp lệ: %s"
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<các tùy chọn>] [-e] <mẫu> [<rev>…] [[--] </đường/dẫn>…]"
 
-#: builtin/grep.c:225
+#: builtin/grep.c:223
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep: gặp lỗi tạo tuyến (thread): %s"
 
-#: builtin/grep.c:279
+#: builtin/grep.c:277
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "số tuyến đã cho không hợp lệ (%d) cho %s"
@@ -15356,259 +15673,259 @@ msgstr "số tuyến đã cho không hợp lệ (%d) cho %s"
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:287 builtin/index-pack.c:1576 builtin/index-pack.c:1766
-#: builtin/pack-objects.c:2936
+#: builtin/grep.c:285 builtin/index-pack.c:1589 builtin/index-pack.c:1808
+#: builtin/pack-objects.c:2944
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "không hỗ trợ đa tuyến, bỏ qua %s"
 
-#: builtin/grep.c:475 builtin/grep.c:600 builtin/grep.c:640
+#: builtin/grep.c:473 builtin/grep.c:601 builtin/grep.c:641
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "không thể đọc cây (%s)"
 
-#: builtin/grep.c:655
+#: builtin/grep.c:656
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "không thể thực hiện lệnh grep (lọc tìm) từ đối tượng thuộc kiểu %s"
 
-#: builtin/grep.c:736
+#: builtin/grep.c:737
 #, 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:835
+#: builtin/grep.c:836
 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:837
+#: builtin/grep.c:838
 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:839
+#: builtin/grep.c:840
 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:841
+#: builtin/grep.c:842
 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:843
+#: builtin/grep.c:844
 msgid "recursively search in each submodule"
 msgstr "tìm kiếm đệ quy trong từng mô-đun-con"
 
-#: builtin/grep.c:846
+#: builtin/grep.c:847
 msgid "show non-matching lines"
 msgstr "hiển thị những dòng không khớp với mẫu"
 
-#: builtin/grep.c:848
+#: builtin/grep.c:849
 msgid "case insensitive matching"
 msgstr "phân biệt HOA/thường"
 
-#: builtin/grep.c:850
+#: builtin/grep.c:851
 msgid "match patterns only at word boundaries"
 msgstr "chỉ khớp mẫu tại đường ranh giới từ"
 
-#: builtin/grep.c:852
+#: builtin/grep.c:853
 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:854
+#: builtin/grep.c:855
 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:857
+#: builtin/grep.c:858
 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:859
+#: builtin/grep.c:860
 msgid "search in subdirectories (default)"
 msgstr "tìm kiếm trong thư mục con (mặc định)"
 
-#: builtin/grep.c:861
+#: builtin/grep.c:862
 msgid "descend at most <depth> levels"
 msgstr "hạ xuống ít nhất là mức <sâu>"
 
-#: builtin/grep.c:865
+#: builtin/grep.c:866
 msgid "use extended POSIX regular expressions"
 msgstr "dùng biểu thức chính qui POSIX có mở rộng"
 
-#: builtin/grep.c:868
+#: builtin/grep.c:869
 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:871
+#: builtin/grep.c:872
 msgid "interpret patterns as fixed strings"
 msgstr "diễn dịch các mẫu như là chuỗi cố định"
 
-#: builtin/grep.c:874
+#: builtin/grep.c:875
 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:877
+#: builtin/grep.c:878
 msgid "show line numbers"
 msgstr "hiển thị số của dòng"
 
-#: builtin/grep.c:878
+#: builtin/grep.c:879
 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:879
+#: builtin/grep.c:880
 msgid "don't show filenames"
 msgstr "không hiển thị tên tập tin"
 
-#: builtin/grep.c:880
+#: builtin/grep.c:881
 msgid "show filenames"
 msgstr "hiển thị các tên tập tin"
 
-#: builtin/grep.c:882
+#: builtin/grep.c:883
 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:884
+#: builtin/grep.c:885
 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:886
+#: builtin/grep.c:887
 msgid "synonym for --files-with-matches"
 msgstr "đồng nghĩa với --files-with-matches"
 
-#: builtin/grep.c:889
+#: builtin/grep.c:890
 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:891
+#: builtin/grep.c:892
 msgid "print NUL after filenames"
 msgstr "thêm NUL vào sau tên tập tin"
 
-#: builtin/grep.c:894
+#: builtin/grep.c:895
 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:896
+#: builtin/grep.c:897
 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:897
+#: builtin/grep.c:898
 msgid "highlight matches"
 msgstr "tô sáng phần khớp mẫu"
 
-#: builtin/grep.c:899
+#: builtin/grep.c:900
 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:901
+#: builtin/grep.c:902
 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:904
+#: builtin/grep.c:905
 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:907
+#: builtin/grep.c:908
 msgid "show <n> context lines before matches"
 msgstr "hiển thị <n> dòng nội dung trước khớp"
 
-#: builtin/grep.c:909
+#: builtin/grep.c:910
 msgid "show <n> context lines after matches"
 msgstr "hiển thị <n> dòng nội dung sau khớp"
 
-#: builtin/grep.c:911
+#: builtin/grep.c:912
 msgid "use <n> worker threads"
 msgstr "dùng <n> tuyến trình làm việc"
 
-#: builtin/grep.c:912
+#: builtin/grep.c:913
 msgid "shortcut for -C NUM"
 msgstr "dạng viết tắt của -C SỐ"
 
-#: builtin/grep.c:915
+#: builtin/grep.c:916
 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:917
+#: builtin/grep.c:918
 msgid "show the surrounding function"
 msgstr "hiển thị hàm bao quanh"
 
-#: builtin/grep.c:920
+#: builtin/grep.c:921
 msgid "read patterns from file"
 msgstr "đọc mẫu từ tập-tin"
 
-#: builtin/grep.c:922
+#: builtin/grep.c:923
 msgid "match <pattern>"
 msgstr "match <mẫu>"
 
-#: builtin/grep.c:924
+#: builtin/grep.c:925
 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:936
+#: builtin/grep.c:937
 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:938
+#: builtin/grep.c:939
 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:940
-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:944
+#: builtin/grep.c:942
 msgid "pager"
 msgstr "dàn trang"
 
-#: builtin/grep.c:944
+#: builtin/grep.c:942
 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:948
+#: builtin/grep.c:946
 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:1014
+#: builtin/grep.c:1012
 msgid "no pattern given"
 msgstr "chưa chỉ ra mẫu"
 
-#: builtin/grep.c:1050
+#: builtin/grep.c:1048
 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:1058
+#: builtin/grep.c:1056
 #, 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:1088
+#: builtin/grep.c:1086
 msgid "--untracked not supported with --recurse-submodules"
 msgstr "tùy chọn --untracked không được hỗ trợ với --recurse-submodules"
 
-#: builtin/grep.c:1092
+#: builtin/grep.c:1090
 msgid "invalid option combination, ignoring --threads"
 msgstr "tổ hợp tùy chọn không hợp lệ, bỏ qua --threads"
 
-#: builtin/grep.c:1095 builtin/pack-objects.c:3655
+#: builtin/grep.c:1093 builtin/pack-objects.c:3672
 msgid "no threads support, ignoring --threads"
 msgstr "không hỗ trợ đa tuyến, bỏ qua --threads"
 
-#: builtin/grep.c:1098 builtin/index-pack.c:1573 builtin/pack-objects.c:2933
+#: builtin/grep.c:1096 builtin/index-pack.c:1586 builtin/pack-objects.c:2941
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "số tuyến chỉ ra không hợp lệ (%d)"
 
-#: builtin/grep.c:1132
+#: builtin/grep.c:1130
 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:1158
+#: builtin/grep.c:1156
 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:1164
+#: builtin/grep.c:1159
+msgid "--untracked cannot be used with --cached"
+msgstr "--untracked không thể được sử dụng với tùy chọn --cached"
+
+#: builtin/grep.c:1165
 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:1172
+#: builtin/grep.c:1173
 msgid "both --cached and trees are given"
 msgstr "cả hai --cached và các cây phải được chỉ ra"
 
@@ -15739,12 +16056,12 @@ msgstr "không có trình xem trợ giúp dạng manpage tiếp hợp với yêu
 msgid "no info viewer handled the request"
 msgstr "không có trình xem trợ giúp dạng info tiếp hợp với yêu cầu"
 
-#: builtin/help.c:520 builtin/help.c:531 git.c:337
+#: builtin/help.c:520 builtin/help.c:531 git.c:340
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr "“%s” được đặt bí danh thành “%s”"
 
-#: builtin/help.c:534 git.c:369
+#: builtin/help.c:534 git.c:372
 #, c-format
 msgid "bad alias.%s string: %s"
 msgstr "chuỗi alias.%s sai: %s"
@@ -15791,7 +16108,7 @@ msgstr "lỗi đọc ở đầu vào"
 msgid "used more bytes than were available"
 msgstr "sử dụng nhiều hơn số lượng byte mà nó sẵn có"
 
-#: builtin/index-pack.c:324 builtin/pack-objects.c:619
+#: builtin/index-pack.c:324 builtin/pack-objects.c:624
 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"
 
@@ -15799,7 +16116,7 @@ msgstr "gói quá lớn so với định nghĩa hiện tại của kiểu off_t"
 msgid "pack exceeds maximum allowed size"
 msgstr "gói đã vượt quá cỡ tối đa được phép"
 
-#: builtin/index-pack.c:342 builtin/repack.c:286
+#: builtin/index-pack.c:342
 #, c-format
 msgid "unable to create '%s'"
 msgstr "không thể tạo “%s”"
@@ -15923,7 +16240,7 @@ msgstr "lộn xộn hơn cả điên rồ khi chạy hàm parse_pack_objects()"
 msgid "Resolving deltas"
 msgstr "Đang phân giải các delta"
 
-#: builtin/index-pack.c:1249 builtin/pack-objects.c:2697
+#: builtin/index-pack.c:1249 builtin/pack-objects.c:2707
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "không thể tạo tuyến: %s"
@@ -15959,10 +16276,10 @@ msgstr "không thể xả nén đối tượng nối thêm (%d)"
 msgid "local object %s is corrupt"
 msgstr "đối tượng nội bộ %s bị hỏng"
 
-#: builtin/index-pack.c:1444
+#: builtin/index-pack.c:1445
 #, 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”"
+msgid "packfile name '%s' does not end with '.%s'"
+msgstr "tên tập tin tập tin gói “%s” không được kết thúc “.%s”"
 
 #: builtin/index-pack.c:1469
 #, c-format
@@ -15974,77 +16291,81 @@ msgstr "không thể ghi %s tập tin “%s”"
 msgid "cannot close written %s file '%s'"
 msgstr "không thể đóng tập tin được ghi %s “%s”"
 
-#: builtin/index-pack.c:1501
+#: builtin/index-pack.c:1503
 msgid "error while closing pack file"
 msgstr "gặp lỗi trong khi đóng tập tin gói"
 
-#: builtin/index-pack.c:1515
+#: builtin/index-pack.c:1517
 msgid "cannot store pack file"
 msgstr "không thể lưu tập tin gói"
 
-#: builtin/index-pack.c:1523
+#: builtin/index-pack.c:1525
 msgid "cannot store index file"
 msgstr "không thể lưu trữ tập tin ghi mục lục"
 
-#: builtin/index-pack.c:1567 builtin/pack-objects.c:2944
+#: builtin/index-pack.c:1534
+msgid "cannot store reverse index file"
+msgstr "không thể lưu trữ tập tin ghi mục lục đảo ngược"
+
+#: builtin/index-pack.c:1580 builtin/pack-objects.c:2952
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "sai pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1631
+#: builtin/index-pack.c:1650
 #, 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:1633
+#: builtin/index-pack.c:1652
 #, 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:1681
+#: builtin/index-pack.c:1700
 #, 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:1688
+#: builtin/index-pack.c:1707
 #, 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:1728
+#: builtin/index-pack.c:1765
 msgid "Cannot come back to cwd"
 msgstr "Không thể quay lại cwd"
 
-#: builtin/index-pack.c:1777 builtin/index-pack.c:1780
-#: builtin/index-pack.c:1796 builtin/index-pack.c:1800
+#: builtin/index-pack.c:1819 builtin/index-pack.c:1822
+#: builtin/index-pack.c:1838 builtin/index-pack.c:1842
 #, c-format
 msgid "bad %s"
 msgstr "%s sai"
 
-#: builtin/index-pack.c:1806 builtin/init-db.c:392 builtin/init-db.c:625
+#: builtin/index-pack.c:1848 builtin/init-db.c:392 builtin/init-db.c:625
 #, c-format
 msgid "unknown hash algorithm '%s'"
 msgstr "không hiểu thuật toán băm dữ liệu “%s”"
 
-#: builtin/index-pack.c:1821
+#: builtin/index-pack.c:1867
 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:1823
+#: builtin/index-pack.c:1869
 msgid "--stdin requires a git repository"
 msgstr "--stdin cần một kho git"
 
-#: builtin/index-pack.c:1825
+#: builtin/index-pack.c:1871
 msgid "--object-format cannot be used with --stdin"
 msgstr "--object-format không thể được dùng với --stdin"
 
-#: builtin/index-pack.c:1831
+#: builtin/index-pack.c:1886
 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:1892 builtin/unpack-objects.c:582
+#: builtin/index-pack.c:1956 builtin/unpack-objects.c:582
 msgid "fsck error in pack objects"
 msgstr "lỗi fsck trong các đối tượng gói"
 
@@ -16261,130 +16582,130 @@ 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:58
+#: builtin/log.c:59
 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:59
+#: builtin/log.c:60
 msgid "git show [<options>] <object>..."
 msgstr "git show [<các tùy chọn>] <đối-tượng>…"
 
-#: builtin/log.c:112
+#: builtin/log.c:113
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "tùy chọn--decorate không hợp lệ: %s"
 
-#: builtin/log.c:179
+#: builtin/log.c:180
 msgid "show source"
 msgstr "hiển thị mã nguồn"
 
-#: builtin/log.c:180
-msgid "Use mail map file"
-msgstr "Sử dụng tập tin ánh xạ thư"
+#: builtin/log.c:181
+msgid "use mail map file"
+msgstr "sử dụng tập tin ánh xạ thư"
 
-#: builtin/log.c:183
+#: builtin/log.c:184
 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:185
+#: builtin/log.c:186
 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:186
+#: builtin/log.c:187
 msgid "decorate options"
 msgstr "các tùy chọn trang trí"
 
-#: builtin/log.c:189
+#: builtin/log.c:190
 msgid ""
-"Trace the evolution of line range <start>,<end> or function :<funcname> in "
+"trace the evolution of line range <start>,<end> or function :<funcname> in "
 "<file>"
 msgstr ""
-"Theo dõi sự tiến hóa của phạm vi <start><end> dòng, hoặc chức năng:"
+"theo dõi sự tiến hóa của phạm vi <start><end> dòng, hoặc chức năng:"
 "<funcname> trong <file>"
 
-#: builtin/log.c:212
+#: builtin/log.c:213
 msgid "-L<range>:<file> cannot be used with pathspec"
 msgstr "-L<vùng>:<tập_tin> không thể được sử dụng với đặc tả đường dẫn"
 
-#: builtin/log.c:302
+#: builtin/log.c:303
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "Kết xuất cuối cùng: %d %s\n"
 
-#: builtin/log.c:564
+#: builtin/log.c:566
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: sai tập tin"
 
-#: builtin/log.c:579 builtin/log.c:674
+#: builtin/log.c:581 builtin/log.c:671
 #, c-format
 msgid "could not read object %s"
 msgstr "không thể đọc đối tượng %s"
 
-#: builtin/log.c:699
+#: builtin/log.c:696
 #, c-format
 msgid "unknown type: %d"
 msgstr "không nhận ra kiểu: %d"
 
-#: builtin/log.c:848
+#: builtin/log.c:841
 #, c-format
 msgid "%s: invalid cover from description mode"
 msgstr "%s: bao bọc không hợp lệ từ chế độ mô tả"
 
-#: builtin/log.c:855
+#: builtin/log.c:848
 msgid "format.headers without value"
 msgstr "format.headers không có giá trị cụ thể"
 
-#: builtin/log.c:984
+#: builtin/log.c:977
 #, c-format
 msgid "cannot open patch file %s"
 msgstr "không thể mở tập tin miếng vá: %s"
 
-#: builtin/log.c:1001
+#: builtin/log.c:994
 msgid "need exactly one range"
 msgstr "cần chính xác một vùng"
 
-#: builtin/log.c:1011
+#: builtin/log.c:1004
 msgid "not a range"
 msgstr "không phải là một vùng"
 
-#: builtin/log.c:1175
+#: builtin/log.c:1168
 msgid "cover letter needs email format"
 msgstr "“cover letter” cần cho định dạng thư"
 
-#: builtin/log.c:1181
+#: builtin/log.c:1174
 msgid "failed to create cover-letter file"
 msgstr "gặp lỗi khi tạo các tập tin cover-letter"
 
-#: builtin/log.c:1262
+#: builtin/log.c:1261
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to điên rồ: %s"
 
-#: builtin/log.c:1289
+#: builtin/log.c:1288
 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:1347
+#: builtin/log.c:1346
 msgid "two output directories?"
 msgstr "hai thư mục kết xuất?"
 
-#: builtin/log.c:1498 builtin/log.c:2318 builtin/log.c:2320 builtin/log.c:2332
+#: builtin/log.c:1497 builtin/log.c:2317 builtin/log.c:2319 builtin/log.c:2331
 #, c-format
 msgid "unknown commit %s"
 msgstr "không hiểu lần chuyển giao %s"
 
-#: builtin/log.c:1509 builtin/replace.c:58 builtin/replace.c:207
+#: builtin/log.c:1508 builtin/replace.c:58 builtin/replace.c:207
 #: builtin/replace.c:210
 #, c-format
 msgid "failed to resolve '%s' as a valid ref"
 msgstr "gặp lỗi khi phân giải “%s” như là một tham chiếu hợp lệ"
 
-#: builtin/log.c:1518
+#: builtin/log.c:1517
 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:1528
+#: builtin/log.c:1527
 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"
@@ -16395,289 +16716,289 @@ 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:1551
+#: builtin/log.c:1550
 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:1568
+#: builtin/log.c:1567
 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:1578
+#: builtin/log.c:1577
 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:1636
+#: builtin/log.c:1635
 msgid "cannot get patch id"
 msgstr "không thể lấy mã miếng vá"
 
-#: builtin/log.c:1693
+#: builtin/log.c:1692
 msgid "failed to infer range-diff origin of current series"
 msgstr ""
 "gặp lỗi khi suy luận range-diff (vùng khác biệt) gốc của sê-ri hiện tại"
 
-#: builtin/log.c:1695
+#: builtin/log.c:1694
 #, c-format
 msgid "using '%s' as range-diff origin of current series"
 msgstr "dùng “%s” như là gốc range-diff của sê-ri hiện tại"
 
-#: builtin/log.c:1739
+#: builtin/log.c:1738
 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:1742
+#: builtin/log.c:1741
 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:1746
+#: builtin/log.c:1745
 msgid "print patches to standard out"
 msgstr "hiển thị miếng vá ra đầu ra chuẩn"
 
-#: builtin/log.c:1748
+#: builtin/log.c:1747
 msgid "generate a cover letter"
 msgstr "tạo bì thư"
 
-#: builtin/log.c:1750
+#: builtin/log.c:1749
 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:1751
+#: builtin/log.c:1750
 msgid "sfx"
 msgstr "sfx"
 
-#: builtin/log.c:1752
+#: builtin/log.c:1751
 msgid "use <sfx> instead of '.patch'"
 msgstr "sử dụng <sfx> thay cho “.patch”"
 
-#: builtin/log.c:1754
+#: builtin/log.c:1753
 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:1756
+#: builtin/log.c:1755
 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:1758
+#: builtin/log.c:1757
 msgid "max length of output filename"
 msgstr "chiều dài tên tập tin đầu ra tối đa"
 
-#: builtin/log.c:1760
-msgid "Use [RFC PATCH] instead of [PATCH]"
-msgstr "Dùng [RFC VÁ] thay cho [VÁ]"
+#: builtin/log.c:1759
+msgid "use [RFC PATCH] instead of [PATCH]"
+msgstr "dùng [VÁ RFC] thay cho [VÁ]"
 
-#: builtin/log.c:1763
+#: builtin/log.c:1762
 msgid "cover-from-description-mode"
 msgstr "cover-from-description-mode"
 
-#: builtin/log.c:1764
+#: builtin/log.c:1763
 msgid "generate parts of a cover letter based on a branch's description"
 msgstr "tạo ra các phần của một lá thư bao gồm dựa trên mô tả của nhánh"
 
-#: builtin/log.c:1766
-msgid "Use [<prefix>] instead of [PATCH]"
-msgstr "Dùng [<tiền-tố>] thay cho [VÁ]"
+#: builtin/log.c:1765
+msgid "use [<prefix>] instead of [PATCH]"
+msgstr "dùng [<tiền-tố>] thay cho [VÁ]"
 
-#: builtin/log.c:1769
+#: builtin/log.c:1768
 msgid "store resulting files in <dir>"
 msgstr "lưu các tập tin kết quả trong <t.mục>"
 
-#: builtin/log.c:1772
+#: builtin/log.c:1771
 msgid "don't strip/add [PATCH]"
 msgstr "không strip/add [VÁ]"
 
-#: builtin/log.c:1775
+#: builtin/log.c:1774
 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:1777
+#: builtin/log.c:1776
 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:1779
+#: builtin/log.c:1778
 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:1781
+#: builtin/log.c:1780
 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:1783
+#: builtin/log.c:1782
 msgid "Messaging"
 msgstr "Lời nhắn"
 
-#: builtin/log.c:1784
+#: builtin/log.c:1783
 msgid "header"
 msgstr "đầu đề thư"
 
-#: builtin/log.c:1785
+#: builtin/log.c:1784
 msgid "add email header"
 msgstr "thêm đầu đề thư"
 
-#: builtin/log.c:1786 builtin/log.c:1787
+#: builtin/log.c:1785 builtin/log.c:1786
 msgid "email"
 msgstr "thư điện tử"
 
-#: builtin/log.c:1786
+#: builtin/log.c:1785
 msgid "add To: header"
 msgstr "thêm To: đầu đề thư"
 
-#: builtin/log.c:1787
+#: builtin/log.c:1786
 msgid "add Cc: header"
 msgstr "thêm Cc: đầu đề thư"
 
-#: builtin/log.c:1788
+#: builtin/log.c:1787
 msgid "ident"
 msgstr "thụt lề"
 
-#: builtin/log.c:1789
+#: builtin/log.c:1788
 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:1791
+#: builtin/log.c:1790
 msgid "message-id"
 msgstr "message-id"
 
-#: builtin/log.c:1792
+#: builtin/log.c:1791
 msgid "make first mail a reply to <message-id>"
 msgstr "dùng thư đầu tiên để trả lời <message-id>"
 
-#: builtin/log.c:1793 builtin/log.c:1796
+#: builtin/log.c:1792 builtin/log.c:1795
 msgid "boundary"
 msgstr "ranh giới"
 
-#: builtin/log.c:1794
+#: builtin/log.c:1793
 msgid "attach the patch"
 msgstr "đính kèm miếng vá"
 
-#: builtin/log.c:1797
+#: builtin/log.c:1796
 msgid "inline the patch"
 msgstr "dùng miếng vá làm nội dung"
 
-#: builtin/log.c:1801
+#: builtin/log.c:1800
 msgid "enable message threading, styles: shallow, deep"
 msgstr "cho phép luồng lời nhắn, kiểu: “shallow”, “deep”"
 
-#: builtin/log.c:1803
+#: builtin/log.c:1802
 msgid "signature"
 msgstr "chữ ký"
 
-#: builtin/log.c:1804
+#: builtin/log.c:1803
 msgid "add a signature"
 msgstr "thêm chữ ký"
 
-#: builtin/log.c:1805
+#: builtin/log.c:1804
 msgid "base-commit"
 msgstr "lần_chuyển_giao_nền"
 
-#: builtin/log.c:1806
+#: builtin/log.c:1805
 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:1809
+#: builtin/log.c:1808
 msgid "add a signature from a file"
 msgstr "thêm chữ ký từ một tập tin"
 
-#: builtin/log.c:1810
+#: builtin/log.c:1809
 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:1812
+#: builtin/log.c:1811
 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:1814
+#: builtin/log.c:1813
 msgid "show changes against <rev> in cover letter or single patch"
 msgstr ""
 "hiển thị các thay đổi dựa trên <rev> trong các chữ bao bọc hoặc miếng vá đơn"
 
-#: builtin/log.c:1817
+#: builtin/log.c:1816
 msgid "show changes against <refspec> in cover letter or single patch"
 msgstr ""
 "hiển thị các thay đổi dựa trên <refspec> trong các chữ bao bọc hoặc miếng vá "
 "đơn"
 
-#: builtin/log.c:1819
+#: builtin/log.c:1818
 msgid "percentage by which creation is weighted"
 msgstr "tỷ lệ phần trăm theo cái tạo là weighted"
 
-#: builtin/log.c:1905
+#: builtin/log.c:1904
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "dòng định danh không hợp lệ: %s"
 
-#: builtin/log.c:1920
+#: builtin/log.c:1919
 msgid "-n and -k are mutually exclusive"
 msgstr "-n và -k loại trừ lẫn nhau"
 
-#: builtin/log.c:1922
+#: builtin/log.c:1921
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr "--subject-prefix/--rfc và -k xung khắc nhau"
 
-#: builtin/log.c:1930
+#: builtin/log.c:1929
 msgid "--name-only does not make sense"
 msgstr "--name-only không hợp lý"
 
-#: builtin/log.c:1932
+#: builtin/log.c:1931
 msgid "--name-status does not make sense"
 msgstr "--name-status không hợp lý"
 
-#: builtin/log.c:1934
+#: builtin/log.c:1933
 msgid "--check does not make sense"
 msgstr "--check không hợp lý"
 
-#: builtin/log.c:1956
+#: builtin/log.c:1955
 msgid "--stdout, --output, and --output-directory are mutually exclusive"
 msgstr "Các tùy chọn--stdout, --output, và --output-directory loại từ lẫn nhau"
 
-#: builtin/log.c:2079
+#: builtin/log.c:2078
 msgid "--interdiff requires --cover-letter or single patch"
 msgstr "--interdiff cần --cover-letter hoặc vá đơn"
 
-#: builtin/log.c:2083
+#: builtin/log.c:2082
 msgid "Interdiff:"
 msgstr "Interdiff:"
 
-#: builtin/log.c:2084
+#: builtin/log.c:2083
 #, c-format
 msgid "Interdiff against v%d:"
 msgstr "Interdiff dựa trên v%d:"
 
-#: builtin/log.c:2090
+#: builtin/log.c:2089
 msgid "--creation-factor requires --range-diff"
 msgstr "--creation-factor yêu cầu --range-diff"
 
-#: builtin/log.c:2094
+#: builtin/log.c:2093
 msgid "--range-diff requires --cover-letter or single patch"
 msgstr "--range-diff yêu cầu --cover-letter hoặc miếng vá đơn"
 
-#: builtin/log.c:2102
+#: builtin/log.c:2101
 msgid "Range-diff:"
 msgstr "Range-diff:"
 
-#: builtin/log.c:2103
+#: builtin/log.c:2102
 #, c-format
 msgid "Range-diff against v%d:"
 msgstr "Range-diff dựa trên v%d:"
 
-#: builtin/log.c:2114
+#: builtin/log.c:2113
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "không thể đọc tập tin chữ ký “%s”"
 
-#: builtin/log.c:2150
+#: builtin/log.c:2149
 msgid "Generating patches"
 msgstr "Đang tạo các miếng vá"
 
-#: builtin/log.c:2194
+#: builtin/log.c:2193
 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:2253
+#: builtin/log.c:2252
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<thượng-nguồn> [<đầu> [<giới-hạn>]]]"
 
-#: builtin/log.c:2307
+#: builtin/log.c:2306
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -16685,113 +17006,117 @@ 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:471
+#: builtin/ls-files.c:486
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<các tùy chọn>] [<tập-tin>…]"
 
-#: builtin/ls-files.c:527
+#: builtin/ls-files.c:542
 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:529
+#: builtin/ls-files.c:544
 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:531
+#: builtin/ls-files.c:546
 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:533
+#: builtin/ls-files.c:548
 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:535
+#: builtin/ls-files.c:550
 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:537
+#: builtin/ls-files.c:552
 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:539
+#: builtin/ls-files.c:554
 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:541
+#: builtin/ls-files.c:556
 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:544
+#: builtin/ls-files.c:559
 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:546
+#: builtin/ls-files.c:561
 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:548
+#: builtin/ls-files.c:563
 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:550
+#: builtin/ls-files.c:565
 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:552
+#: builtin/ls-files.c:567
 msgid "don't show empty directories"
 msgstr "không hiển thị thư mục rỗng"
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:570
 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:557
+#: builtin/ls-files.c:572
 msgid "show resolve-undo information"
 msgstr "hiển thị thông tin resolve-undo"
 
-#: builtin/ls-files.c:559
+#: builtin/ls-files.c:574
 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:562
+#: builtin/ls-files.c:577
 msgid "exclude patterns are read from <file>"
 msgstr "mẫu loại trừ được đọc từ <tập tin>"
 
-#: builtin/ls-files.c:565
+#: builtin/ls-files.c:580
 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:567
+#: builtin/ls-files.c:582
 msgid "add the standard git exclusions"
 msgstr "thêm loại trừ tiêu chuẩn kiểu git"
 
-#: builtin/ls-files.c:571
+#: builtin/ls-files.c:586
 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:574
+#: builtin/ls-files.c:589
 msgid "recurse through submodules"
 msgstr "đệ quy xuyên qua mô-đun con"
 
-#: builtin/ls-files.c:576
+#: builtin/ls-files.c:591
 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:577
+#: builtin/ls-files.c:592
 msgid "tree-ish"
 msgstr "tree-ish"
 
-#: builtin/ls-files.c:578
+#: builtin/ls-files.c:593
 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:580
+#: builtin/ls-files.c:595
 msgid "show debugging data"
 msgstr "hiển thị dữ liệu gỡ lỗi"
 
+#: builtin/ls-files.c:597
+msgid "suppress duplicate entries"
+msgstr "chặn các mục tin trùng lặp"
+
 #: builtin/ls-remote.c:9
 msgid ""
 "git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
@@ -16802,39 +17127,39 @@ msgstr ""
 "                     [-q | --quiet] [--exit-code] [--get-url]\n"
 "                     [--symref] [<kho> [<các tham chiếu>…]]"
 
-#: builtin/ls-remote.c:59
+#: builtin/ls-remote.c:60
 msgid "do not print remote URL"
 msgstr "không hiển thị URL máy chủ"
 
-#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1398
+#: builtin/ls-remote.c:61 builtin/ls-remote.c:63 builtin/rebase.c:1404
 msgid "exec"
 msgstr "thực thi"
 
-#: builtin/ls-remote.c:61 builtin/ls-remote.c:63
+#: builtin/ls-remote.c:62 builtin/ls-remote.c:64
 msgid "path of git-upload-pack on the remote host"
 msgstr "đường dẫn của git-upload-pack trên máy chủ"
 
-#: builtin/ls-remote.c:65
+#: builtin/ls-remote.c:66
 msgid "limit to tags"
 msgstr "giới hạn tới các thẻ"
 
-#: builtin/ls-remote.c:66
+#: builtin/ls-remote.c:67
 msgid "limit to heads"
 msgstr "giới hạn cho các đầu"
 
-#: builtin/ls-remote.c:67
+#: builtin/ls-remote.c:68
 msgid "do not show peeled tags"
 msgstr "không hiển thị thẻ bị peel (gọt bỏ)"
 
-#: builtin/ls-remote.c:69
+#: builtin/ls-remote.c:70
 msgid "take url.<base>.insteadOf into account"
 msgstr "lấy url.<base>.insteadOf vào trong tài khoản"
 
-#: builtin/ls-remote.c:72
+#: builtin/ls-remote.c:73
 msgid "exit with exit code 2 if no matching refs are found"
 msgstr "thoát với mã là 2 nếu không tìm thấy tham chiếu nào khớp"
 
-#: builtin/ls-remote.c:75
+#: builtin/ls-remote.c:76
 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ó"
 
@@ -16989,193 +17314,193 @@ 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/merge.c:57
+#: builtin/merge.c:58
 msgid "git merge [<options>] [<commit>...]"
 msgstr "git merge [<các tùy chọn>] [<commit>…]"
 
-#: builtin/merge.c:58
+#: builtin/merge.c:59
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:59
+#: builtin/merge.c:60
 msgid "git merge --continue"
 msgstr "git merge --continue"
 
-#: builtin/merge.c:122
+#: builtin/merge.c:123
 msgid "switch `m' requires a value"
 msgstr "switch “m” yêu cầu một giá trị"
 
-#: builtin/merge.c:145
+#: builtin/merge.c:146
 #, c-format
 msgid "option `%s' requires a value"
 msgstr "tùy chọn “%s” yêu cầu một giá trị"
 
-#: builtin/merge.c:198
+#: builtin/merge.c:199
 #, 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:199
+#: builtin/merge.c:200
 #, c-format
 msgid "Available strategies are:"
 msgstr "Các chiến lược sẵn sàng là:"
 
-#: builtin/merge.c:204
+#: builtin/merge.c:205
 #, 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:255 builtin/pull.c:133
+#: builtin/merge.c:256 builtin/pull.c:133
 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:258 builtin/pull.c:136
+#: builtin/merge.c:259 builtin/pull.c:136
 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:259 builtin/pull.c:139
+#: builtin/merge.c:260 builtin/pull.c:139
 msgid "(synonym to --stat)"
 msgstr "(đồng nghĩa với --stat)"
 
-#: builtin/merge.c:261 builtin/pull.c:142
+#: builtin/merge.c:262 builtin/pull.c:142
 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:264 builtin/pull.c:148
+#: builtin/merge.c:265 builtin/pull.c:148
 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:266 builtin/pull.c:151
+#: builtin/merge.c:267 builtin/pull.c:151
 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:268 builtin/pull.c:154
+#: builtin/merge.c:269 builtin/pull.c:154
 msgid "edit message before committing"
 msgstr "sửa chú thích trước khi chuyển giao"
 
-#: builtin/merge.c:270
+#: builtin/merge.c:271
 msgid "allow fast-forward (default)"
 msgstr "cho phép chuyển-tiếp-nhanh (mặc định)"
 
-#: builtin/merge.c:272 builtin/pull.c:161
+#: builtin/merge.c:273 builtin/pull.c:161
 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:276 builtin/pull.c:164
+#: builtin/merge.c:277 builtin/pull.c:164
 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:277 builtin/notes.c:787 builtin/pull.c:168
-#: builtin/rebase.c:539 builtin/rebase.c:1412 builtin/revert.c:114
+#: builtin/merge.c:278 builtin/notes.c:787 builtin/pull.c:168
+#: builtin/rebase.c:541 builtin/rebase.c:1418 builtin/revert.c:114
 msgid "strategy"
 msgstr "chiến lược"
 
-#: builtin/merge.c:278 builtin/pull.c:169
+#: builtin/merge.c:279 builtin/pull.c:169
 msgid "merge strategy to use"
 msgstr "chiến lược hòa trộn sẽ dùng"
 
-#: builtin/merge.c:279 builtin/pull.c:172
+#: builtin/merge.c:280 builtin/pull.c:172
 msgid "option=value"
 msgstr "tùy_chọn=giá_trị"
 
-#: builtin/merge.c:280 builtin/pull.c:173
+#: builtin/merge.c:281 builtin/pull.c:173
 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:282
+#: builtin/merge.c:283
 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:289
+#: builtin/merge.c:290
 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:291
+#: builtin/merge.c:292
 msgid "--abort but leave index and working tree alone"
 msgstr "--abort nhưng để lại bảng mục lục và cây làm việc"
 
-#: builtin/merge.c:293
+#: builtin/merge.c:294
 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:295 builtin/pull.c:180
+#: builtin/merge.c:296 builtin/pull.c:180
 msgid "allow merging unrelated histories"
 msgstr "cho phép hòa trộn lịch sử không liên quan"
 
-#: builtin/merge.c:302
+#: builtin/merge.c:303
 msgid "bypass pre-merge-commit and commit-msg hooks"
 msgstr "vòng qua móc (hook) pre-merge-commit và commit-msg"
 
-#: builtin/merge.c:319
+#: builtin/merge.c:320
 msgid "could not run stash."
 msgstr "không thể chạy stash."
 
-#: builtin/merge.c:324
+#: builtin/merge.c:325
 msgid "stash failed"
 msgstr "lệnh tạm cất gặp lỗi"
 
-#: builtin/merge.c:329
+#: builtin/merge.c:330
 #, 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:351 builtin/merge.c:368
+#: builtin/merge.c:352 builtin/merge.c:369
 msgid "read-tree failed"
 msgstr "read-tree gặp lỗi"
 
-#: builtin/merge.c:398
+#: builtin/merge.c:399
 msgid " (nothing to squash)"
 msgstr " (không có gì để squash)"
 
-#: builtin/merge.c:409
+#: builtin/merge.c:410
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Squash commit -- không cập nhật HEAD\n"
 
-#: builtin/merge.c:459
+#: builtin/merge.c:460
 #, 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:510
+#: builtin/merge.c:511
 #, 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:597
+#: builtin/merge.c:598
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Chuỗi branch.%s.mergeoptions sai: %s"
 
-#: builtin/merge.c:723
+#: builtin/merge.c:724
 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:736
+#: builtin/merge.c:737
 #, 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:755 t/helper/test-fast-rebase.c:209
+#: builtin/merge.c:756 t/helper/test-fast-rebase.c:209
 #, c-format
 msgid "unable to write %s"
 msgstr "không thể ghi %s"
 
-#: builtin/merge.c:807
+#: builtin/merge.c:808
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Không thể đọc từ “%s”"
 
-#: builtin/merge.c:816
+#: builtin/merge.c:817
 #, 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:822
+#: builtin/merge.c:823
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
 "especially if it merges an updated upstream into a topic branch.\n"
@@ -17187,11 +17512,11 @@ msgstr ""
 "topic.\n"
 "\n"
 
-#: builtin/merge.c:827
+#: builtin/merge.c:828
 msgid "An empty message aborts the commit.\n"
 msgstr "Nếu phần chú thích rỗng sẽ hủy bỏ lần chuyển giao.\n"
 
-#: builtin/merge.c:830
+#: builtin/merge.c:831
 #, c-format
 msgid ""
 "Lines starting with '%c' will be ignored, and an empty message aborts\n"
@@ -17200,75 +17525,75 @@ msgstr ""
 "Những dòng được bắt đầu bằng “%c” sẽ được bỏ qua, và nếu phần chú\n"
 "thích rỗng sẽ hủy bỏ lần chuyển giao.\n"
 
-#: builtin/merge.c:883
+#: builtin/merge.c:884
 msgid "Empty commit message."
 msgstr "Chú thích của lần commit (chuyển giao) bị trống rỗng."
 
-#: builtin/merge.c:898
+#: builtin/merge.c:899
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Tuyệt vời.\n"
 
-#: builtin/merge.c:959
+#: builtin/merge.c:960
 #, 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:998
+#: builtin/merge.c:999
 msgid "No current branch."
 msgstr "Không phải nhánh hiện hành."
 
-#: builtin/merge.c:1000
+#: builtin/merge.c:1001
 msgid "No remote for the current branch."
 msgstr "Không có máy chủ cho nhánh hiện hành."
 
-#: builtin/merge.c:1002
+#: builtin/merge.c:1003
 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:1007
+#: builtin/merge.c:1008
 #, 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:1064
+#: builtin/merge.c:1065
 #, 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:1167
+#: builtin/merge.c:1168
 #, 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:1201
+#: builtin/merge.c:1202
 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:1311
+#: builtin/merge.c:1312
 msgid "--abort expects no arguments"
 msgstr "--abort không nhận các đối số"
 
-#: builtin/merge.c:1315
+#: builtin/merge.c:1316
 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:1333
+#: builtin/merge.c:1334
 msgid "--quit expects no arguments"
 msgstr "--quit không nhận các đối số"
 
-#: builtin/merge.c:1346
+#: builtin/merge.c:1347
 msgid "--continue expects no arguments"
 msgstr "--continue không nhận đối số"
 
-#: builtin/merge.c:1350
+#: builtin/merge.c:1351
 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:1366
+#: builtin/merge.c:1367
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -17276,7 +17601,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:1373
+#: builtin/merge.c:1374
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -17284,104 +17609,147 @@ 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:1376
+#: builtin/merge.c:1377
 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:1390
+#: builtin/merge.c:1391
 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:1392
+#: builtin/merge.c:1393
 msgid "You cannot combine --squash with --commit."
 msgstr "Bạn không thể kết hợp --squash với --commit."
 
-#: builtin/merge.c:1408
+#: builtin/merge.c:1409
 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:1425
+#: builtin/merge.c:1426
 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:1427
+#: builtin/merge.c:1428
 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:1432
+#: builtin/merge.c:1433
 #, 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:1434
+#: builtin/merge.c:1435
 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:1515
+#: builtin/merge.c:1516
 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:1524
+#: builtin/merge.c:1525
 msgid "Already up to date."
 msgstr "Đã cập nhật rồi."
 
-#: builtin/merge.c:1534
+#: builtin/merge.c:1535
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Đang cập nhật %s..%s\n"
 
-#: builtin/merge.c:1580
+#: builtin/merge.c:1581
 #, 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:1587
+#: builtin/merge.c:1588
 #, c-format
 msgid "Nope.\n"
 msgstr "Không.\n"
 
-#: builtin/merge.c:1612
+#: builtin/merge.c:1613
 msgid "Already up to date. Yeeah!"
 msgstr "Đã cập nhật rồi. Yeeah!"
 
-#: builtin/merge.c:1618
+#: builtin/merge.c:1619
 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:1646 builtin/merge.c:1711
+#: builtin/merge.c:1647 builtin/merge.c:1712
 #, 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:1650
+#: builtin/merge.c:1651
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Đang thử chiến lược hòa trộn %s…\n"
 
-#: builtin/merge.c:1702
+#: builtin/merge.c:1703
 #, 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:1704
+#: builtin/merge.c:1705
 #, 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:1713
+#: builtin/merge.c:1714
 #, 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:1727
+#: builtin/merge.c:1728
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
 "Hòa trộn tự động đã trở nên tốt; bị dừng trước khi việc chuyển giao được yêu "
 "cầu\n"
 
+#: builtin/mktag.c:10
+msgid "git mktag"
+msgstr "git mktag"
+
+#: builtin/mktag.c:30
+#, c-format
+msgid "warning: tag input does not pass fsck: %s"
+msgstr "cảnh báo: đầu vào thẻ không qua kiểm tra fsck: %s"
+
+#: builtin/mktag.c:41
+#, c-format
+msgid "error: tag input does not pass fsck: %s"
+msgstr "lỗi: đầu vào thẻ không vượt qua fsck: %s"
+
+#: builtin/mktag.c:44
+#, c-format
+msgid "%d (FSCK_IGNORE?) should never trigger this callback"
+msgstr "%d (FSCK_IGNORE?) không bao giờ nên kích hoạt cuộc gọi ngược này"
+
+#: builtin/mktag.c:59
+#, c-format
+msgid "could not read tagged object '%s'"
+msgstr "không thể đọc đối tượng được đánh thẻ %s"
+
+#: builtin/mktag.c:62
+#, c-format
+msgid "object '%s' tagged as '%s', but is a '%s' type"
+msgstr "đối tượng %s được đánh thẻ là %s, không phải là kiểu %s"
+
+#: builtin/mktag.c:99
+msgid "tag on stdin did not pass our strict fsck check"
+msgstr ""
+"thẻ trên stdin đã không vượt qua kiểm tra fsck nghiêm ngặt của chúng tôi"
+
+#: builtin/mktag.c:102
+msgid "tag on stdin did not refer to a valid object"
+msgstr ""
+"thẻ trên đầu vào tiêu chuẩn không chỉ đến một lần chuyển giao hợp lệ nào cả"
+
+#: builtin/mktag.c:105 builtin/tag.c:232
+msgid "unable to write tag file"
+msgstr "không thể ghi vào tập tin lưu thẻ"
+
 #: builtin/mktree.c:66
 msgid "git mktree [-z] [--missing] [--batch]"
 msgstr "git mktree [-z] [--missing] [--batch]"
@@ -17418,7 +17786,10 @@ msgstr ""
 "trong suốt quá trình đóng gói lại, gom các tập tin gói có kích cỡ nhỏ hơn "
 "vào một bó cái mà lớn hơn kích thước này"
 
-#: builtin/multi-pack-index.c:50 builtin/prune-packed.c:25
+#: builtin/multi-pack-index.c:50 builtin/notes.c:376 builtin/notes.c:431
+#: builtin/notes.c:509 builtin/notes.c:521 builtin/notes.c:598
+#: builtin/notes.c:665 builtin/notes.c:815 builtin/notes.c:963
+#: builtin/notes.c:985 builtin/prune-packed.c:25 builtin/tag.c:575
 msgid "too many arguments"
 msgstr "có quá nhiều đối số"
 
@@ -17523,7 +17894,7 @@ 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:280 builtin/remote.c:785 builtin/repack.c:484
+#: builtin/mv.c:280 builtin/remote.c:785 builtin/repack.c:483
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "gặp lỗi khi đổi tên “%s”"
@@ -17715,7 +18086,7 @@ msgstr "không thể ghi đối tượng ghi chú (note)"
 msgid "the note contents have been left in %s"
 msgstr "nội dung ghi chú còn lại %s"
 
-#: builtin/notes.c:242 builtin/tag.c:533
+#: builtin/notes.c:242 builtin/tag.c:565
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "không thể mở hay đọc “%s”"
@@ -17755,12 +18126,6 @@ msgstr "gặp lỗi khi sao chép ghi chú (note) từ “%s” sang “%s”"
 msgid "refusing to %s notes in %s (outside of refs/notes/)"
 msgstr "từ chối %s ghi chú trong %s (nằm ngoài refs/notes/)"
 
-#: builtin/notes.c:376 builtin/notes.c:431 builtin/notes.c:509
-#: builtin/notes.c:521 builtin/notes.c:598 builtin/notes.c:665
-#: builtin/notes.c:815 builtin/notes.c:963 builtin/notes.c:985
-msgid "too many parameters"
-msgstr "quá nhiều đối số"
-
 #: builtin/notes.c:389 builtin/notes.c:678
 #, c-format
 msgid "no note found for object %s."
@@ -17818,7 +18183,7 @@ 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:517
-msgid "too few parameters"
+msgid "too few arguments"
 msgstr "quá ít đối số"
 
 #: builtin/notes.c:538
@@ -17949,7 +18314,7 @@ msgstr ""
 "chuyển giao kết quả bằng “git notes merge --commit”, hoặc bãi bỏ việc hòa "
 "trộn bằng “git notes merge --abort”.\n"
 
-#: builtin/notes.c:897 builtin/tag.c:546
+#: builtin/notes.c:897 builtin/tag.c:578
 #, 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ệ."
@@ -17967,7 +18332,7 @@ msgstr "cố gắng gỡ bỏ một note chưa từng tồn tại không phải
 msgid "read object names from the standard input"
 msgstr "đọc tên đối tượng từ thiết bị nhập chuẩn"
 
-#: builtin/notes.c:954 builtin/prune.c:132 builtin/worktree.c:220
+#: builtin/notes.c:954 builtin/prune.c:132 builtin/worktree.c:148
 msgid "do not remove, show only"
 msgstr "không gỡ bỏ, chỉ hiển thị"
 
@@ -17983,7 +18348,7 @@ msgstr "notes-ref"
 msgid "use notes from <notes-ref>"
 msgstr "dùng “notes” từ <notes-ref>"
 
-#: builtin/notes.c:1034 builtin/stash.c:1604
+#: builtin/notes.c:1034 builtin/stash.c:1671
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "không hiểu câu lệnh con: %s"
@@ -18002,103 +18367,117 @@ 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:443
+#: builtin/pack-objects.c:440
+#, c-format
+msgid ""
+"write_reuse_object: could not locate %s, expected at offset %<PRIuMAX> in "
+"pack %s"
+msgstr ""
+"write_reuse_object: không thể phân bổ %s, cần tại vị trí bù %<PRIuMAX> trong "
+"gói %s"
+
+#: builtin/pack-objects.c:448
 #, c-format
 msgid "bad packed object CRC for %s"
 msgstr "CRC của đối tượng gói sai với %s"
 
-#: builtin/pack-objects.c:454
+#: builtin/pack-objects.c:459
 #, c-format
 msgid "corrupt packed object for %s"
 msgstr "đối tượng đã đóng gói sai hỏng cho %s"
 
-#: builtin/pack-objects.c:585
+#: builtin/pack-objects.c:590
 #, c-format
 msgid "recursive delta detected for object %s"
 msgstr "dò thấy delta đệ quy cho đối tượng %s"
 
-#: builtin/pack-objects.c:796
+#: builtin/pack-objects.c:801
 #, c-format
 msgid "ordered %u objects, expected %<PRIu32>"
 msgstr "đã sắp xếp %u đối tượng, cần %<PRIu32>"
 
-#: builtin/pack-objects.c:1004
+#: builtin/pack-objects.c:896
+#, c-format
+msgid "expected object at offset %<PRIuMAX> in pack %s"
+msgstr "cần đối tượng tại khoảng bù %<PRIuMAX> trong gói: %s"
+
+#: builtin/pack-objects.c:1015
 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:1017
+#: builtin/pack-objects.c:1028
 msgid "Writing objects"
 msgstr "Đang ghi lại các đối tượng"
 
-#: builtin/pack-objects.c:1078 builtin/update-index.c:90
+#: builtin/pack-objects.c:1089 builtin/update-index.c:90
 #, c-format
 msgid "failed to stat %s"
 msgstr "gặp lỗi khi lấy thông tin thống kê về %s"
 
-#: builtin/pack-objects.c:1131
+#: builtin/pack-objects.c:1141
 #, c-format
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr "đã ghi %<PRIu32> đối tượng trong khi cần %<PRIu32>"
 
-#: builtin/pack-objects.c:1348
+#: builtin/pack-objects.c:1358
 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:1796
+#: builtin/pack-objects.c:1806
 #, 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:1805
+#: builtin/pack-objects.c:1815
 #, 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:2086
+#: builtin/pack-objects.c:2096
 msgid "Counting objects"
 msgstr "Đang đếm các đối tượng"
 
-#: builtin/pack-objects.c:2231
+#: builtin/pack-objects.c:2241
 #, 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:2301 builtin/pack-objects.c:2317
-#: builtin/pack-objects.c:2327
+#: builtin/pack-objects.c:2311 builtin/pack-objects.c:2327
+#: builtin/pack-objects.c:2337
 #, c-format
 msgid "object %s cannot be read"
 msgstr "không thể đọc đối tượng %s"
 
-#: builtin/pack-objects.c:2304 builtin/pack-objects.c:2331
+#: builtin/pack-objects.c:2314 builtin/pack-objects.c:2341
 #, c-format
 msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
 msgstr ""
 "đối tượng %s không nhất quán về chiều dài đối tượng (%<PRIuMAX> so với "
 "%<PRIuMAX>)"
 
-#: builtin/pack-objects.c:2341
+#: builtin/pack-objects.c:2351
 msgid "suboptimal pack - out of memory"
 msgstr "suboptimal pack - hết bộ nhớ"
 
-#: builtin/pack-objects.c:2656
+#: builtin/pack-objects.c:2666
 #, 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:2795
+#: builtin/pack-objects.c:2805
 #, 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:2883
+#: builtin/pack-objects.c:2891
 msgid "Compressing objects"
 msgstr "Đang nén các đối tượng"
 
-#: builtin/pack-objects.c:2889
+#: builtin/pack-objects.c:2897
 msgid "inconsistency with delta count"
 msgstr "mâu thuẫn với số lượng delta"
 
-#: builtin/pack-objects.c:2961
+#: builtin/pack-objects.c:2976
 #, c-format
 msgid ""
 "value of uploadpack.blobpackfileuri must be of the form '<object-hash> <pack-"
@@ -18107,7 +18486,7 @@ msgstr ""
 "giá trị của uploadpack.blobpackfileuri phải có dạng “<object-hash> <pack-"
 "hash> <uri>” (nhận “%s”)"
 
-#: builtin/pack-objects.c:2964
+#: builtin/pack-objects.c:2979
 #, c-format
 msgid ""
 "object already configured in another uploadpack.blobpackfileuri (got '%s')"
@@ -18115,7 +18494,7 @@ msgstr ""
 "đối tượng đã được cấu hình trong một uploadpack.blobpackfileuri khác (đã "
 "nhận “%s”)"
 
-#: builtin/pack-objects.c:2993
+#: builtin/pack-objects.c:3008
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
@@ -18124,7 +18503,7 @@ msgstr ""
 "cần ID đối tượng cạnh, nhận được rác:\n"
 " %s"
 
-#: builtin/pack-objects.c:2999
+#: builtin/pack-objects.c:3014
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
@@ -18133,236 +18512,236 @@ msgstr ""
 "cần ID đối tượng, nhận được rác:\n"
 " %s"
 
-#: builtin/pack-objects.c:3097
+#: builtin/pack-objects.c:3112
 msgid "invalid value for --missing"
 msgstr "giá trị cho --missing không hợp lệ"
 
-#: builtin/pack-objects.c:3156 builtin/pack-objects.c:3264
+#: builtin/pack-objects.c:3171 builtin/pack-objects.c:3279
 msgid "cannot open pack index"
 msgstr "không thể mở mục lục của gói"
 
-#: builtin/pack-objects.c:3187
+#: builtin/pack-objects.c:3202
 #, 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:3272
+#: builtin/pack-objects.c:3287
 msgid "unable to force loose object"
 msgstr "không thể buộc mất đối tượng"
 
-#: builtin/pack-objects.c:3365
+#: builtin/pack-objects.c:3380
 #, c-format
 msgid "not a rev '%s'"
 msgstr "không phải một rev “%s”"
 
-#: builtin/pack-objects.c:3368
+#: builtin/pack-objects.c:3383
 #, c-format
 msgid "bad revision '%s'"
 msgstr "điểm xem xét sai “%s”"
 
-#: builtin/pack-objects.c:3393
+#: builtin/pack-objects.c:3408
 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:3446
+#: builtin/pack-objects.c:3461
 #, 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:3450
+#: builtin/pack-objects.c:3465
 #, c-format
 msgid "bad index version '%s'"
 msgstr "phiên bản mục lục sai “%s”"
 
-#: builtin/pack-objects.c:3488
+#: builtin/pack-objects.c:3503
 msgid "<version>[,<offset>]"
 msgstr "<phiên bản>[,offset]"
 
-#: builtin/pack-objects.c:3489
+#: builtin/pack-objects.c:3504
 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:3492
+#: builtin/pack-objects.c:3507
 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:3494
+#: builtin/pack-objects.c:3509
 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:3496
+#: builtin/pack-objects.c:3511
 msgid "ignore packed objects"
 msgstr "bỏ qua các đối tượng đóng gói"
 
-#: builtin/pack-objects.c:3498
+#: builtin/pack-objects.c:3513
 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:3500
+#: builtin/pack-objects.c:3515
 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:3502
+#: builtin/pack-objects.c:3517
 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:3504
+#: builtin/pack-objects.c:3519
 msgid "reuse existing deltas"
 msgstr "dùng lại các delta sẵn có"
 
-#: builtin/pack-objects.c:3506
+#: builtin/pack-objects.c:3521
 msgid "reuse existing objects"
 msgstr "dùng lại các đối tượng sẵn có"
 
-#: builtin/pack-objects.c:3508
+#: builtin/pack-objects.c:3523
 msgid "use OFS_DELTA objects"
 msgstr "dùng các đối tượng OFS_DELTA"
 
-#: builtin/pack-objects.c:3510
+#: builtin/pack-objects.c:3525
 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:3512
+#: builtin/pack-objects.c:3527
 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:3514
+#: builtin/pack-objects.c:3529
 msgid "read revision arguments from standard input"
 msgstr "đọc tham số “revision” từ thiết bị nhập chuẩn"
 
-#: builtin/pack-objects.c:3516
+#: builtin/pack-objects.c:3531
 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:3519
+#: builtin/pack-objects.c:3534
 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:3522
+#: builtin/pack-objects.c:3537
 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:3525
+#: builtin/pack-objects.c:3540
 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:3528
+#: builtin/pack-objects.c:3543
 msgid "output pack to stdout"
 msgstr "xuất gói ra đầu ra tiêu chuẩn"
 
-#: builtin/pack-objects.c:3530
+#: builtin/pack-objects.c:3545
 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:3532
+#: builtin/pack-objects.c:3547
 msgid "keep unreachable objects"
 msgstr "giữ lại các đối tượng không thể đọc được"
 
-#: builtin/pack-objects.c:3534
+#: builtin/pack-objects.c:3549
 msgid "pack loose unreachable objects"
 msgstr "pack mất các đối tượng không thể đọc được"
 
-#: builtin/pack-objects.c:3536
+#: builtin/pack-objects.c:3551
 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:3539
+#: builtin/pack-objects.c:3554
 msgid "use the sparse reachability algorithm"
 msgstr "sử dụng thuật toán “sparse reachability”"
 
-#: builtin/pack-objects.c:3541
+#: builtin/pack-objects.c:3556
 msgid "create thin packs"
 msgstr "tạo gói nhẹ"
 
-#: builtin/pack-objects.c:3543
+#: builtin/pack-objects.c:3558
 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:3545
+#: builtin/pack-objects.c:3560
 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:3547
+#: builtin/pack-objects.c:3562
 msgid "ignore this pack"
 msgstr "bỏ qua gói này"
 
-#: builtin/pack-objects.c:3549
+#: builtin/pack-objects.c:3564
 msgid "pack compression level"
 msgstr "mức nén gói"
 
-#: builtin/pack-objects.c:3551
+#: builtin/pack-objects.c:3566
 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:3553
+#: builtin/pack-objects.c:3568
 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:3555
+#: builtin/pack-objects.c:3570
 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:3559
+#: builtin/pack-objects.c:3574
 msgid "write a bitmap index if possible"
 msgstr "ghi mục lục ánh xạ nếu được"
 
-#: builtin/pack-objects.c:3563
+#: builtin/pack-objects.c:3578
 msgid "handling for missing objects"
 msgstr "xử lý cho thiếu đối tượng"
 
-#: builtin/pack-objects.c:3566
+#: builtin/pack-objects.c:3581
 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:3568
+#: builtin/pack-objects.c:3583
 msgid "respect islands during delta compression"
 msgstr "tôn trọng island trong suốt quá trình nén “delta”"
 
-#: builtin/pack-objects.c:3570
+#: builtin/pack-objects.c:3585
 msgid "protocol"
 msgstr "giao thức"
 
-#: builtin/pack-objects.c:3571
+#: builtin/pack-objects.c:3586
 msgid "exclude any configured uploadpack.blobpackfileuri with this protocol"
 msgstr "loại trừ bất kỳ cấu hình uploadpack.blobpackfileuri với giao thức này"
 
-#: builtin/pack-objects.c:3600
+#: builtin/pack-objects.c:3617
 #, 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:3605
+#: builtin/pack-objects.c:3622
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr "pack.deltaCacheLimit là quá cao, ép dùng %d"
 
-#: builtin/pack-objects.c:3659
+#: builtin/pack-objects.c:3676
 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:3661
+#: builtin/pack-objects.c:3678
 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:3666
+#: builtin/pack-objects.c:3683
 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:3669
+#: builtin/pack-objects.c:3686
 msgid "--keep-unreachable and --unpack-unreachable are incompatible"
 msgstr "--keep-unreachable và --unpack-unreachable xung khắc nhau"
 
-#: builtin/pack-objects.c:3675
+#: builtin/pack-objects.c:3692
 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:3735
+#: builtin/pack-objects.c:3752
 msgid "Enumerating objects"
 msgstr "Đánh số các đối tượng"
 
-#: builtin/pack-objects.c:3766
+#: builtin/pack-objects.c:3783
 #, c-format
 msgid ""
 "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>), pack-"
@@ -18371,6 +18750,20 @@ msgstr ""
 "Tổng %<PRIu32> (delta %<PRIu32>), dùng lại %<PRIu32> (delta %<PRIu32>), pack-"
 "reused %<PRIu32>"
 
+#: builtin/pack-redundant.c:601
+msgid ""
+"'git pack-redundant' is nominated for removal.\n"
+"If you still use this command, please add an extra\n"
+"option, '--i-still-use-this', on the command line\n"
+"and let us know you still use it by sending an e-mail\n"
+"to <git@vger.kernel.org>.  Thanks.\n"
+msgstr ""
+"'git pack-redundant' được đề cử để loại bỏ.\n"
+"Nếu bạn vẫn sử dụng lệnh này, vui lòng bổ sung\n"
+"thêm một tùy chọn, '--i-still-use-this', trên dòng lệnh\n"
+"và cho chúng tôi biết bạn vẫn sử dụng nó bằng cách gửi e-mail\n"
+"đến <git@vger.kernel.org>.  Cảm ơn.\n"
+
 #: builtin/pack-refs.c:8
 msgid "git pack-refs [<options>]"
 msgstr "git pack-refs [<các tùy chọn>]"
@@ -18428,7 +18821,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:158 builtin/rebase.c:490 builtin/revert.c:126
+#: builtin/pull.c:158 builtin/rebase.c:492 builtin/revert.c:126
 msgid "allow fast-forward"
 msgstr "cho phép chuyển-tiếp-nhanh"
 
@@ -18440,53 +18833,20 @@ msgstr "tự động stash/stash pop trước và sau"
 msgid "Options related to fetching"
 msgstr "Các tùy chọn liên quan đến lệnh lấy về"
 
-#: builtin/pull.c:193
-msgid "force overwrite of local branch"
-msgstr "ép buộc ghi đè lên nhánh nội bộ"
-
-#: builtin/pull.c:201
-msgid "number of submodules pulled in parallel"
-msgstr "số lượng mô-đun-con được đẩy lên đồng thời"
-
-#: builtin/pull.c:317
-#, c-format
-msgid "Invalid value for pull.ff: %s"
-msgstr "Giá trị không hợp lệ cho pull.ff: %s"
-
-#: builtin/pull.c:348
-msgid ""
-"Pulling without specifying how to reconcile divergent branches is\n"
-"discouraged. You can squelch this message by running one of the following\n"
-"commands sometime before your next pull:\n"
-"\n"
-"  git config pull.rebase false  # merge (the default strategy)\n"
-"  git config pull.rebase true   # rebase\n"
-"  git config pull.ff only       # fast-forward only\n"
-"\n"
-"You can replace \"git config\" with \"git config --global\" to set a "
-"default\n"
-"preference for all repositories. You can also pass --rebase, --no-rebase,\n"
-"or --ff-only on the command line to override the configured default per\n"
-"invocation.\n"
-msgstr ""
-"Kéo mà không chỉ định làm thế nào để hòa giải các nhánh phân kỳ là khác nhau "
-"là\n"
-"không khuyến khích. Bạn có thể dịu thông báo này bằng cách chạy một trong "
-"những lệnh sau đây\n"
-"các lệnh thỉnh thoảng trước khi thực hiện lệnh pull tiếp theo của bạn:\n"
-"\n"
-"  git config pull.rebase false  # merge (chiến lược mặc định)\n"
-"  git config pull.rebase true   # rebase\n"
-"  git config pull.ff only       # fast-forward only\n"
-"\n"
-"Bạn có thể thay thế \"git config\" với \"git config --global\" để thiết lập "
-"mặc định\n"
-"ưu tiên cho tất cả các kho. Bạn cũng có thể chuyển qua --rebase, --no-"
-"rebase,\n"
-"hoặc --ff-only trên dòng lệnh để ghi đè mặc định được cấu hình cho mỗi\n"
-"lần gọi.\n"
+#: builtin/pull.c:193
+msgid "force overwrite of local branch"
+msgstr "ép buộc ghi đè lên nhánh nội bộ"
+
+#: builtin/pull.c:201
+msgid "number of submodules pulled in parallel"
+msgstr "số lượng mô-đun-con được đẩy lên đồng thời"
+
+#: builtin/pull.c:317
+#, c-format
+msgid "Invalid value for pull.ff: %s"
+msgstr "Giá trị không hợp lệ cho pull.ff: %s"
 
-#: builtin/pull.c:458
+#: builtin/pull.c:445
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
@@ -18494,14 +18854,14 @@ msgstr ""
 "Ở đây không có ứng cử nào để cải tổ lại trong số các tham chiếu mà bạn vừa "
 "lấy về."
 
-#: builtin/pull.c:460
+#: builtin/pull.c:447
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr ""
 "Ở đây không có ứng cử nào để hòa trộn trong số các tham chiếu mà bạn vừa lấy "
 "về."
 
-#: builtin/pull.c:461
+#: builtin/pull.c:448
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
@@ -18510,7 +18870,7 @@ msgstr ""
 "tự\n"
 "đại diện mà nó lại không khớp trên điểm cuối máy phục vụ."
 
-#: builtin/pull.c:464
+#: builtin/pull.c:451
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -18522,42 +18882,42 @@ msgstr ""
 "theo mặc định cho nhánh hiện tại của bạn, bạn phải chỉ định\n"
 "một nhánh trên dòng lệnh."
 
-#: builtin/pull.c:469 builtin/rebase.c:1246
+#: builtin/pull.c:456 builtin/rebase.c:1253
 msgid "You are not currently on a branch."
 msgstr "Hiện tại bạn chẳng ở nhánh nào cả."
 
-#: builtin/pull.c:471 builtin/pull.c:486
+#: builtin/pull.c:458 builtin/pull.c:473
 msgid "Please specify which branch you want to rebase against."
 msgstr "Vui lòng chỉ định nhánh nào bạn muốn cải tổ lại."
 
-#: builtin/pull.c:473 builtin/pull.c:488
+#: builtin/pull.c:460 builtin/pull.c:475
 msgid "Please specify which branch you want to merge with."
 msgstr "Vui lòng chỉ định nhánh nào bạn muốn hòa trộn vào."
 
-#: builtin/pull.c:474 builtin/pull.c:489
+#: builtin/pull.c:461 builtin/pull.c:476
 msgid "See git-pull(1) for details."
 msgstr "Xem git-pull(1) để biết thêm chi tiết."
 
-#: builtin/pull.c:476 builtin/pull.c:482 builtin/pull.c:491
-#: builtin/rebase.c:1252
+#: builtin/pull.c:463 builtin/pull.c:469 builtin/pull.c:478
+#: builtin/rebase.c:1259
 msgid "<remote>"
 msgstr "<máy chủ>"
 
-#: builtin/pull.c:476 builtin/pull.c:491 builtin/pull.c:496
+#: builtin/pull.c:463 builtin/pull.c:478 builtin/pull.c:483
 msgid "<branch>"
 msgstr "<nhánh>"
 
-#: builtin/pull.c:484 builtin/rebase.c:1244
+#: builtin/pull.c:471 builtin/rebase.c:1251
 msgid "There is no tracking information for the current branch."
 msgstr "Ở đây không có thông tin theo dõi cho nhánh hiện hành."
 
-#: builtin/pull.c:493
+#: builtin/pull.c:480
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:"
 msgstr ""
 "Nếu bạn muốn theo dõi thông tin cho nhánh này bạn có thể thực hiện bằng lệnh:"
 
-#: builtin/pull.c:498
+#: builtin/pull.c:485
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
@@ -18566,30 +18926,63 @@ 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:609
+#: builtin/pull.c:596
 #, c-format
 msgid "unable to access commit %s"
 msgstr "không thể truy cập lần chuyển giao “%s”"
 
-#: builtin/pull.c:915
+#: builtin/pull.c:902
 msgid "ignoring --verify-signatures for rebase"
 msgstr "bỏ qua --verify-signatures khi rebase"
 
-#: builtin/pull.c:972
+#: builtin/pull.c:930
+msgid ""
+"Pulling without specifying how to reconcile divergent branches is\n"
+"discouraged. You can squelch this message by running one of the following\n"
+"commands sometime before your next pull:\n"
+"\n"
+"  git config pull.rebase false  # merge (the default strategy)\n"
+"  git config pull.rebase true   # rebase\n"
+"  git config pull.ff only       # fast-forward only\n"
+"\n"
+"You can replace \"git config\" with \"git config --global\" to set a "
+"default\n"
+"preference for all repositories. You can also pass --rebase, --no-rebase,\n"
+"or --ff-only on the command line to override the configured default per\n"
+"invocation.\n"
+msgstr ""
+"Kéo mà không chỉ định làm thế nào để hòa giải các nhánh phân kỳ là khác nhau "
+"là\n"
+"không khuyến khích. Bạn có thể dịu thông báo này bằng cách chạy một trong "
+"những lệnh sau đây\n"
+"các lệnh thỉnh thoảng trước khi thực hiện lệnh pull tiếp theo của bạn:\n"
+"\n"
+"  git config pull.rebase false  # merge (chiến lược mặc định)\n"
+"  git config pull.rebase true   # rebase\n"
+"  git config pull.ff only       # fast-forward only\n"
+"\n"
+"Bạn có thể thay thế \"git config\" với \"git config --global\" để thiết lập "
+"mặc định\n"
+"ưu tiên cho tất cả các kho. Bạn cũng có thể chuyển qua --rebase, --no-"
+"rebase,\n"
+"hoặc --ff-only trên dòng lệnh để ghi đè mặc định được cấu hình cho mỗi\n"
+"lần gọi.\n"
+
+#: builtin/pull.c:991
 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:976
+#: builtin/pull.c:995
 msgid "pull with rebase"
 msgstr "pull với rebase"
 
-#: builtin/pull.c:977
+#: builtin/pull.c:996
 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:1002
+#: builtin/pull.c:1021
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -18600,7 +18993,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:1008
+#: builtin/pull.c:1027
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -18618,15 +19011,15 @@ msgstr ""
 "$ git reset --hard\n"
 "để khôi phục lại."
 
-#: builtin/pull.c:1023
+#: builtin/pull.c:1042
 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:1027
+#: builtin/pull.c:1046
 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:1041
+#: builtin/pull.c:1067
 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ộ"
@@ -18941,45 +19334,53 @@ 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
+#: builtin/range-diff.c:9
 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
+#: builtin/range-diff.c:10
 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
+#: builtin/range-diff.c:11
 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:22
+#: builtin/range-diff.c:28
 msgid "Percentage by which creation is weighted"
 msgstr "Tỷ lệ phần trăm cái tạo là weighted"
 
-#: builtin/range-diff.c:24
+#: builtin/range-diff.c:30
 msgid "use simple diff colors"
 msgstr "dùng màu diff đơn giản"
 
-#: builtin/range-diff.c:26
+#: builtin/range-diff.c:32
 msgid "notes"
 msgstr "ghi chú"
 
-#: builtin/range-diff.c:26
+#: builtin/range-diff.c:32
 msgid "passed to 'git log'"
 msgstr "chuyển cho “git log”"
 
-#: builtin/range-diff.c:50 builtin/range-diff.c:54
+#: builtin/range-diff.c:35
+msgid "only emit output related to the first range"
+msgstr "chỉ phát ra kết xuất liên quan đến vùng đầu tiên"
+
+#: builtin/range-diff.c:37
+msgid "only emit output related to the second range"
+msgstr "chỉ phát ra kết xuất liên quan đến vùng thứ hai"
+
+#: builtin/range-diff.c:60 builtin/range-diff.c:64
 #, c-format
-msgid "no .. in range: '%s'"
-msgstr "không có .. trong vùng: “%s”"
+msgid "not a commit range: '%s'"
+msgstr "không phải là vùng chuyển giao: “%s”"
 
-#: builtin/range-diff.c:64
+#: builtin/range-diff.c:74
 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:79
+#: builtin/range-diff.c:89
 msgid "need two commit ranges"
 msgstr "cần hai vùng lần chuyển giao"
 
@@ -19086,193 +19487,193 @@ msgstr ""
 msgid "git rebase --continue | --abort | --skip | --edit-todo"
 msgstr "git rebase --continue | --abort | --skip | --edit-todo"
 
-#: builtin/rebase.c:193 builtin/rebase.c:217 builtin/rebase.c:244
+#: builtin/rebase.c:195 builtin/rebase.c:219 builtin/rebase.c:246
 #, c-format
 msgid "unusable todo list: '%s'"
 msgstr "danh sách cần làm không dùng được: “%s”"
 
-#: builtin/rebase.c:310
+#: builtin/rebase.c:312
 #, c-format
 msgid "could not create temporary %s"
 msgstr "không thể tạo %s tạm thời"
 
-#: builtin/rebase.c:316
+#: builtin/rebase.c:318
 msgid "could not mark as interactive"
 msgstr "không thể đánh dấu là tương tác"
 
-#: builtin/rebase.c:369
+#: builtin/rebase.c:371
 msgid "could not generate todo list"
 msgstr "không thể tạo danh sách cần làm"
 
-#: builtin/rebase.c:411
+#: builtin/rebase.c:413
 msgid "a base commit must be provided with --upstream or --onto"
 msgstr "lần chuyển giao cơ sỏ phải được chỉ định với --upstream hoặc --onto"
 
-#: builtin/rebase.c:480
+#: builtin/rebase.c:482
 msgid "git rebase--interactive [<options>]"
 msgstr "git rebase--interactive [<các tùy chọn>]"
 
-#: builtin/rebase.c:493 builtin/rebase.c:1388
+#: builtin/rebase.c:495 builtin/rebase.c:1394
 msgid "keep commits which start empty"
 msgstr "bỏ qua các lần chuyển giao mà nó bắt đầu trống rỗng"
 
-#: builtin/rebase.c:497 builtin/revert.c:128
+#: builtin/rebase.c:499 builtin/revert.c:128
 msgid "allow commits with empty messages"
 msgstr "chấp nhận chuyển giao mà không ghi chú gì"
 
-#: builtin/rebase.c:499
+#: builtin/rebase.c:501
 msgid "rebase merge commits"
 msgstr "cải tổ các lần chuyển giao hòa trộn"
 
-#: builtin/rebase.c:501
+#: builtin/rebase.c:503
 msgid "keep original branch points of cousins"
 msgstr "giữ các điểm nhánh nguyên bản của các anh em họ"
 
-#: builtin/rebase.c:503
+#: builtin/rebase.c:505
 msgid "move commits that begin with squash!/fixup!"
 msgstr "di chuyển các lần chuyển giao bắt đầu bằng squash!/fixup!"
 
-#: builtin/rebase.c:504
+#: builtin/rebase.c:506
 msgid "sign commits"
 msgstr "ký các lần chuyển giao"
 
-#: builtin/rebase.c:506 builtin/rebase.c:1327
+#: builtin/rebase.c:508 builtin/rebase.c:1333
 msgid "display a diffstat of what changed upstream"
 msgstr "hiển thị một diffstat của những thay đổi thượng nguồn"
 
-#: builtin/rebase.c:508
+#: builtin/rebase.c:510
 msgid "continue rebase"
 msgstr "tiếp tục cải tổ"
 
-#: builtin/rebase.c:510
+#: builtin/rebase.c:512
 msgid "skip commit"
 msgstr "bỏ qua lần chuyển giao"
 
-#: builtin/rebase.c:511
+#: builtin/rebase.c:513
 msgid "edit the todo list"
 msgstr "sửa danh sách cần làm"
 
-#: builtin/rebase.c:513
+#: builtin/rebase.c:515
 msgid "show the current patch"
 msgstr "hiển thị miếng vá hiện hành"
 
-#: builtin/rebase.c:516
+#: builtin/rebase.c:518
 msgid "shorten commit ids in the todo list"
 msgstr "rút ngắn mã chuyển giao trong danh sách cần làm"
 
-#: builtin/rebase.c:518
+#: builtin/rebase.c:520
 msgid "expand commit ids in the todo list"
 msgstr "khai triển mã chuyển giao trong danh sách cần làm"
 
-#: builtin/rebase.c:520
+#: builtin/rebase.c:522
 msgid "check the todo list"
 msgstr "kiểm tra danh sách cần làm"
 
-#: builtin/rebase.c:522
+#: builtin/rebase.c:524
 msgid "rearrange fixup/squash lines"
 msgstr "sắp xếp lại các dòng fixup/squash"
 
-#: builtin/rebase.c:524
+#: builtin/rebase.c:526
 msgid "insert exec commands in todo list"
 msgstr "chèn các lệnh thực thi trong danh sách cần làm"
 
-#: builtin/rebase.c:525
+#: builtin/rebase.c:527
 msgid "onto"
 msgstr "lên trên"
 
-#: builtin/rebase.c:528
+#: builtin/rebase.c:530
 msgid "restrict-revision"
 msgstr "điểm-xét-duyệt-hạn-chế"
 
-#: builtin/rebase.c:528
+#: builtin/rebase.c:530
 msgid "restrict revision"
 msgstr "điểm xét duyệt hạn chế"
 
-#: builtin/rebase.c:530
+#: builtin/rebase.c:532
 msgid "squash-onto"
 msgstr "squash-lên-trên"
 
-#: builtin/rebase.c:531
+#: builtin/rebase.c:533
 msgid "squash onto"
 msgstr "squash lên trên"
 
-#: builtin/rebase.c:533
+#: builtin/rebase.c:535
 msgid "the upstream commit"
 msgstr "lần chuyển giao thượng nguồn"
 
-#: builtin/rebase.c:535
+#: builtin/rebase.c:537
 msgid "head-name"
 msgstr "tên-đầu"
 
-#: builtin/rebase.c:535
+#: builtin/rebase.c:537
 msgid "head name"
 msgstr "tên đầu"
 
-#: builtin/rebase.c:540
+#: builtin/rebase.c:542
 msgid "rebase strategy"
 msgstr "chiến lược cải tổ"
 
-#: builtin/rebase.c:541
+#: builtin/rebase.c:543
 msgid "strategy-opts"
 msgstr "tùy-chọn-chiến-lược"
 
-#: builtin/rebase.c:542
+#: builtin/rebase.c:544
 msgid "strategy options"
 msgstr "các tùy chọn chiến lược"
 
-#: builtin/rebase.c:543
+#: builtin/rebase.c:545
 msgid "switch-to"
 msgstr "chuyển-đến"
 
-#: builtin/rebase.c:544
+#: builtin/rebase.c:546
 msgid "the branch or commit to checkout"
 msgstr "nhánh hay lần chuyển giao lần lấy ra"
 
-#: builtin/rebase.c:545
+#: builtin/rebase.c:547
 msgid "onto-name"
 msgstr "onto-name"
 
-#: builtin/rebase.c:545
+#: builtin/rebase.c:547
 msgid "onto name"
 msgstr "tên lên trên"
 
-#: builtin/rebase.c:546
+#: builtin/rebase.c:548
 msgid "cmd"
 msgstr "lệnh"
 
-#: builtin/rebase.c:546
+#: builtin/rebase.c:548
 msgid "the command to run"
 msgstr "lệnh muốn chạy"
 
-#: builtin/rebase.c:549 builtin/rebase.c:1421
+#: builtin/rebase.c:551 builtin/rebase.c:1427
 msgid "automatically re-schedule any `exec` that fails"
 msgstr "lập lịch lại một cách tự động bất kỳ “exec“ bị lỗi"
 
-#: builtin/rebase.c:565
+#: builtin/rebase.c:567
 msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
 msgstr "--[no-]rebase-cousins không có tác dụng khi không có --rebase-merges"
 
-#: builtin/rebase.c:581
+#: builtin/rebase.c:583
 #, c-format
 msgid "%s requires the merge backend"
 msgstr "%s cần một ứng dụng hòa trộn chạy phía sau"
 
-#: builtin/rebase.c:624
+#: builtin/rebase.c:626
 #, c-format
 msgid "could not get 'onto': '%s'"
 msgstr "không thể đặt lấy “onto”: “%s”"
 
-#: builtin/rebase.c:641
+#: builtin/rebase.c:643
 #, c-format
 msgid "invalid orig-head: '%s'"
 msgstr "orig-head không hợp lệ: “%s”"
 
-#: builtin/rebase.c:666
+#: builtin/rebase.c:668
 #, c-format
 msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
 msgstr "đang bỏ qua allow_rerere_autoupdate không hợp lệ: “%s”"
 
-#: builtin/rebase.c:811 git-rebase--preserve-merges.sh:81
+#: builtin/rebase.c:813 git-rebase--preserve-merges.sh:81
 msgid ""
 "Resolve all conflicts manually, mark them as resolved with\n"
 "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
@@ -19287,7 +19688,7 @@ msgstr ""
 "Để bãi bỏ và quay trở lại trạng thái trước \"git rebase\", chạy \"git rebase "
 "--abort\"."
 
-#: builtin/rebase.c:894
+#: builtin/rebase.c:896
 #, c-format
 msgid ""
 "\n"
@@ -19306,7 +19707,7 @@ msgstr ""
 "\n"
 "Kết quả là git không thể cải tổ lại chúng."
 
-#: builtin/rebase.c:1220
+#: builtin/rebase.c:1227
 #, c-format
 msgid ""
 "unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask"
@@ -19315,7 +19716,7 @@ msgstr ""
 "kiểu rỗng không được nhận dạng “%s”; giá trị hợp lệ là \"drop\", \"keep\", "
 "và \"ask\"."
 
-#: builtin/rebase.c:1238
+#: builtin/rebase.c:1245
 #, c-format
 msgid ""
 "%s\n"
@@ -19332,7 +19733,7 @@ msgstr ""
 "    git rebase “<nhánh>”\n"
 "\n"
 
-#: builtin/rebase.c:1254
+#: builtin/rebase.c:1261
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -19346,150 +19747,150 @@ msgstr ""
 "    git branch --set-upstream-to=%s/<nhánh> %s\n"
 "\n"
 
-#: builtin/rebase.c:1284
+#: builtin/rebase.c:1291
 msgid "exec commands cannot contain newlines"
 msgstr "các lệnh thực thi không thể chứa các ký tự dòng mới"
 
-#: builtin/rebase.c:1288
+#: builtin/rebase.c:1295
 msgid "empty exec command"
 msgstr "lệnh thực thi trống rỗng"
 
-#: builtin/rebase.c:1318
+#: builtin/rebase.c:1324
 msgid "rebase onto given branch instead of upstream"
 msgstr "cải tổ vào nhánh đã cho thay cho thượng nguồn"
 
-#: builtin/rebase.c:1320
+#: builtin/rebase.c:1326
 msgid "use the merge-base of upstream and branch as the current base"
 msgstr ""
 "sử dụng các cơ sở hòa trộn của thượng nguồn và nhánh như là cơ sở hiện tại"
 
-#: builtin/rebase.c:1322
+#: builtin/rebase.c:1328
 msgid "allow pre-rebase hook to run"
 msgstr "cho phép móc (hook) pre-rebase được chạy"
 
-#: builtin/rebase.c:1324
+#: builtin/rebase.c:1330
 msgid "be quiet. implies --no-stat"
 msgstr "hãy im lặng. ý là --no-stat"
 
-#: builtin/rebase.c:1330
+#: builtin/rebase.c:1336
 msgid "do not show diffstat of what changed upstream"
 msgstr "đừng hiển thị diffstat của những thay đổi thượng nguồn"
 
-#: builtin/rebase.c:1333
+#: builtin/rebase.c:1339
 msgid "add a Signed-off-by trailer to each commit"
 msgstr "thêm dòng Signed-off-by vào cuối cho từng lần chuyển giao"
 
-#: builtin/rebase.c:1336
+#: builtin/rebase.c:1342
 msgid "make committer date match author date"
 msgstr "làm ngày tháng chuyển giao khớp với ngày của tác giả"
 
-#: builtin/rebase.c:1338
+#: builtin/rebase.c:1344
 msgid "ignore author date and use current date"
 msgstr "bỏ qua ngày tác giả và sử dụng ngày tháng hiện tại"
 
-#: builtin/rebase.c:1340
+#: builtin/rebase.c:1346
 msgid "synonym of --reset-author-date"
 msgstr "đồng nghĩa với --reset-author-date"
 
-#: builtin/rebase.c:1342 builtin/rebase.c:1346
+#: builtin/rebase.c:1348 builtin/rebase.c:1352
 msgid "passed to 'git apply'"
 msgstr "chuyển cho “git apply”"
 
-#: builtin/rebase.c:1344
+#: builtin/rebase.c:1350
 msgid "ignore changes in whitespace"
 msgstr "lờ đi sự thay đổi do khoảng trắng gây ra"
 
-#: builtin/rebase.c:1348 builtin/rebase.c:1351
+#: builtin/rebase.c:1354 builtin/rebase.c:1357
 msgid "cherry-pick all commits, even if unchanged"
 msgstr ""
 "cherry-pick tất cả các lần chuyển giao, ngay cả khi không có thay đổi gì"
 
-#: builtin/rebase.c:1353
+#: builtin/rebase.c:1359
 msgid "continue"
 msgstr "tiếp tục"
 
-#: builtin/rebase.c:1356
+#: builtin/rebase.c:1362
 msgid "skip current patch and continue"
 msgstr "bỏ qua miếng vá hiện hành và tiếp tục"
 
-#: builtin/rebase.c:1358
+#: builtin/rebase.c:1364
 msgid "abort and check out the original branch"
 msgstr "bãi bỏ và lấy ra nhánh nguyên thủy"
 
-#: builtin/rebase.c:1361
+#: builtin/rebase.c:1367
 msgid "abort but keep HEAD where it is"
 msgstr "bãi bỏ nhưng vẫn vẫn giữ HEAD chỉ đến nó"
 
-#: builtin/rebase.c:1362
+#: builtin/rebase.c:1368
 msgid "edit the todo list during an interactive rebase"
 msgstr "sửa danh sách cần làm trong quá trình “rebase” (cải tổ) tương tác"
 
-#: builtin/rebase.c:1365
+#: builtin/rebase.c:1371
 msgid "show the patch file being applied or merged"
 msgstr "hiển thị miếng vá đã được áp dụng hay hòa trộn"
 
-#: builtin/rebase.c:1368
+#: builtin/rebase.c:1374
 msgid "use apply strategies to rebase"
 msgstr "dùng chiến lược áp dụng để cải tổ"
 
-#: builtin/rebase.c:1372
+#: builtin/rebase.c:1378
 msgid "use merging strategies to rebase"
 msgstr "dùng chiến lược hòa trộn để cải tổ"
 
-#: builtin/rebase.c:1376
+#: builtin/rebase.c:1382
 msgid "let the user edit the list of commits to rebase"
 msgstr "để người dùng sửa danh sách các lần chuyển giao muốn cải tổ"
 
-#: builtin/rebase.c:1380
+#: builtin/rebase.c:1386
 msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
 msgstr "(ĐàLẠC HẬU) hay thử tạo lại các hòa trộn thay vì bỏ qua chúng"
 
-#: builtin/rebase.c:1385
+#: builtin/rebase.c:1391
 msgid "how to handle commits that become empty"
 msgstr "xử lý các lần chuyển giao mà nó trở thành trống rỗng như thế nào"
 
-#: builtin/rebase.c:1392
+#: builtin/rebase.c:1398
 msgid "move commits that begin with squash!/fixup! under -i"
 msgstr "di chuyển các lần chuyển giao mà bắt đầu bằng squash!/fixup! dưới -i"
 
-#: builtin/rebase.c:1399
+#: builtin/rebase.c:1405
 msgid "add exec lines after each commit of the editable list"
 msgstr "thêm các dòng thực thi sau từng lần chuyển giao của danh sách sửa được"
 
-#: builtin/rebase.c:1403
+#: builtin/rebase.c:1409
 msgid "allow rebasing commits with empty messages"
 msgstr "chấp nhận cải tổ các chuyển giao mà không ghi chú gì"
 
-#: builtin/rebase.c:1407
+#: builtin/rebase.c:1413
 msgid "try to rebase merges instead of skipping them"
 msgstr "cố thử cải tổ các hòa trộn thay vì bỏ qua chúng"
 
-#: builtin/rebase.c:1410
+#: builtin/rebase.c:1416
 msgid "use 'merge-base --fork-point' to refine upstream"
 msgstr "dùng “merge-base --fork-point” để định nghĩa lại thượng nguồn"
 
-#: builtin/rebase.c:1412
+#: builtin/rebase.c:1418
 msgid "use the given merge strategy"
 msgstr "dùng chiến lược hòa trộn đã cho"
 
-#: builtin/rebase.c:1414 builtin/revert.c:115
+#: builtin/rebase.c:1420 builtin/revert.c:115
 msgid "option"
 msgstr "tùy chọn"
 
-#: builtin/rebase.c:1415
+#: builtin/rebase.c:1421
 msgid "pass the argument through to the merge strategy"
 msgstr "chuyển thao số đến chiến lược hòa trộn"
 
-#: builtin/rebase.c:1418
+#: builtin/rebase.c:1424
 msgid "rebase all reachable commits up to the root(s)"
 msgstr "cải tổ tất các các lần chuyển giao cho đến root"
 
-#: builtin/rebase.c:1423
+#: builtin/rebase.c:1429
 msgid "apply all changes, even those already present upstream"
 msgstr ""
 "áp dụng mọi thay đổi, ngay cả khi những thứ đó đã sẵn có ở thượng nguồn"
 
-#: builtin/rebase.c:1440
+#: builtin/rebase.c:1446
 msgid ""
 "the rebase.useBuiltin support has been removed!\n"
 "See its entry in 'git help config' for details."
@@ -19497,45 +19898,45 @@ msgstr ""
 "việc hỗ trợ rebase.useBuiltin đã bị xóa!\n"
 "Xem mục tin của nó trong “ git help config” để biết chi tiết."
 
-#: builtin/rebase.c:1446
+#: builtin/rebase.c:1452
 msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr ""
 "Hình như đang trong quá trình thực hiện lệnh “git-am”. Không thể rebase."
 
-#: builtin/rebase.c:1487
+#: builtin/rebase.c:1493
 msgid ""
 "git rebase --preserve-merges is deprecated. Use --rebase-merges instead."
 msgstr ""
 "git rebase --preserve-merges đã lạc hậu. Hãy dùng --rebase-merges để thay "
 "thế."
 
-#: builtin/rebase.c:1492
+#: builtin/rebase.c:1498
 msgid "cannot combine '--keep-base' with '--onto'"
 msgstr "không thể kết hợp “--keep-base” với “--onto”"
 
-#: builtin/rebase.c:1494
+#: builtin/rebase.c:1500
 msgid "cannot combine '--keep-base' with '--root'"
 msgstr "không thể kết hợp “--keep-base” với “--root”"
 
-#: builtin/rebase.c:1498
+#: builtin/rebase.c:1504
 msgid "cannot combine '--root' with '--fork-point'"
 msgstr "không thể kết hợp “--root” với “--fork-point”"
 
-#: builtin/rebase.c:1501
+#: builtin/rebase.c:1507
 msgid "No rebase in progress?"
 msgstr "Không có tiến trình rebase nào phải không?"
 
-#: builtin/rebase.c:1505
+#: builtin/rebase.c:1511
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 "Hành động “--edit-todo” chỉ có thể dùng trong quá trình “rebase” (sửa lịch "
 "sử) tương tác."
 
-#: builtin/rebase.c:1528 t/helper/test-fast-rebase.c:123
+#: builtin/rebase.c:1534 t/helper/test-fast-rebase.c:123
 msgid "Cannot read HEAD"
 msgstr "Không thể đọc HEAD"
 
-#: builtin/rebase.c:1540
+#: builtin/rebase.c:1546
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -19543,16 +19944,16 @@ msgstr ""
 "Bạn phải sửa tất cả các lần hòa trộn xung đột và sau\n"
 "đó đánh dấu chúng là cần xử lý sử dụng lệnh git add"
 
-#: builtin/rebase.c:1559
+#: builtin/rebase.c:1565
 msgid "could not discard worktree changes"
 msgstr "không thể loại bỏ các thay đổi cây-làm-việc"
 
-#: builtin/rebase.c:1578
+#: builtin/rebase.c:1584
 #, c-format
 msgid "could not move back to %s"
 msgstr "không thể quay trở lại %s"
 
-#: builtin/rebase.c:1624
+#: builtin/rebase.c:1630
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
@@ -19573,132 +19974,132 @@ msgstr ""
 "và chạy TÔI lần nữa. TÔI dừng lại trong trường hợp bạn vẫn\n"
 "có một số thứ quý giá ở đây.\n"
 
-#: builtin/rebase.c:1652
+#: builtin/rebase.c:1658
 msgid "switch `C' expects a numerical value"
 msgstr "tùy chọn “%c” cần một giá trị bằng số"
 
-#: builtin/rebase.c:1694
+#: builtin/rebase.c:1700
 #, c-format
 msgid "Unknown mode: %s"
 msgstr "Không hiểu chế độ: %s"
 
-#: builtin/rebase.c:1733
+#: builtin/rebase.c:1739
 msgid "--strategy requires --merge or --interactive"
 msgstr "--strategy cần --merge hay --interactive"
 
-#: builtin/rebase.c:1763
+#: builtin/rebase.c:1769
 msgid "cannot combine apply options with merge options"
 msgstr "không thể tổ hợp các tùy chọn áp dụng với các tùy chọn hòa trộn"
 
-#: builtin/rebase.c:1776
+#: builtin/rebase.c:1782
 #, c-format
 msgid "Unknown rebase backend: %s"
 msgstr "Không hiểu ứng dụng chạy phía sau lệnh cải tổ: %s"
 
-#: builtin/rebase.c:1806
+#: builtin/rebase.c:1812
 msgid "--reschedule-failed-exec requires --exec or --interactive"
 msgstr "--reschedule-failed-exec cần --exec hay --interactive"
 
-#: builtin/rebase.c:1826
+#: builtin/rebase.c:1832
 msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
 msgstr "không thể kết hợp “--preserve-merges” với “--rebase-merges”"
 
-#: builtin/rebase.c:1830
+#: builtin/rebase.c:1836
 msgid ""
 "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
 msgstr "không thể kết hợp “--preserve-merges” với “--reschedule-failed-exec”"
 
-#: builtin/rebase.c:1854
+#: builtin/rebase.c:1860
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr "thượng nguồn không hợp lệ “%s”"
 
-#: builtin/rebase.c:1860
+#: builtin/rebase.c:1866
 msgid "Could not create new root commit"
 msgstr "Không thể tạo lần chuyển giao gốc mới"
 
-#: builtin/rebase.c:1886
+#: builtin/rebase.c:1892
 #, c-format
 msgid "'%s': need exactly one merge base with branch"
 msgstr "“%s”: cần chính xác một cơ sở hòa trộn với nhánh"
 
-#: builtin/rebase.c:1889
+#: builtin/rebase.c:1895
 #, c-format
 msgid "'%s': need exactly one merge base"
 msgstr "“%s”: cần chính xác một cơ sở hòa trộn"
 
-#: builtin/rebase.c:1897
+#: builtin/rebase.c:1903
 #, c-format
 msgid "Does not point to a valid commit '%s'"
 msgstr "Không chỉ đến một lần chuyển giao không hợp lệ “%s”"
 
-#: builtin/rebase.c:1923
+#: builtin/rebase.c:1931
 #, c-format
 msgid "fatal: no such branch/commit '%s'"
 msgstr "nghiêm trọng: không có nhánh/lần chuyển giao “%s” như thế"
 
-#: builtin/rebase.c:1931 builtin/submodule--helper.c:40
+#: builtin/rebase.c:1939 builtin/submodule--helper.c:40
 #: builtin/submodule--helper.c:2414
 #, c-format
 msgid "No such ref: %s"
 msgstr "Không có tham chiếu nào như thế: %s"
 
-#: builtin/rebase.c:1942
+#: builtin/rebase.c:1950
 msgid "Could not resolve HEAD to a revision"
 msgstr "Không thể phân giải lần chuyển giao HEAD đến một điểm xét duyệt"
 
-#: builtin/rebase.c:1963
+#: builtin/rebase.c:1971
 msgid "Please commit or stash them."
 msgstr "Xin hãy chuyển giao hoặc tạm cất (stash) chúng."
 
-#: builtin/rebase.c:1999
+#: builtin/rebase.c:2007
 #, c-format
 msgid "could not switch to %s"
 msgstr "không thể chuyển đến %s"
 
-#: builtin/rebase.c:2010
+#: builtin/rebase.c:2018
 msgid "HEAD is up to date."
 msgstr "HEAD đã cập nhật."
 
-#: builtin/rebase.c:2012
+#: builtin/rebase.c:2020
 #, c-format
 msgid "Current branch %s is up to date.\n"
 msgstr "Nhánh hiện tại %s đã được cập nhật rồi.\n"
 
-#: builtin/rebase.c:2020
+#: builtin/rebase.c:2028
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD hiện đã được cập nhật rồi, bị ép buộc rebase."
 
-#: builtin/rebase.c:2022
+#: builtin/rebase.c:2030
 #, c-format
 msgid "Current branch %s is up to date, rebase forced.\n"
 msgstr "Nhánh hiện tại %s đã được cập nhật rồi, lệnh rebase ép buộc.\n"
 
-#: builtin/rebase.c:2030
+#: builtin/rebase.c:2038
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Móc (hook) pre-rebase từ chối rebase."
 
-#: builtin/rebase.c:2037
+#: builtin/rebase.c:2045
 #, c-format
 msgid "Changes to %s:\n"
 msgstr "Thay đổi thành %s:\n"
 
-#: builtin/rebase.c:2040
+#: builtin/rebase.c:2048
 #, c-format
 msgid "Changes from %s to %s:\n"
 msgstr "Thay đổi từ %s thành %s:\n"
 
-#: builtin/rebase.c:2065
+#: builtin/rebase.c:2073
 #, c-format
 msgid "First, rewinding head to replay your work on top of it...\n"
 msgstr ""
 "Trước tiên, di chuyển head để xem lại các công việc trên đỉnh của nó…\n"
 
-#: builtin/rebase.c:2074
+#: builtin/rebase.c:2082
 msgid "Could not detach HEAD"
 msgstr "Không thể tách rời HEAD"
 
-#: builtin/rebase.c:2083
+#: builtin/rebase.c:2091
 #, c-format
 msgid "Fast-forwarded %s to %s.\n"
 msgstr "Chuyển-tiếp-nhanh %s đến %s.\n"
@@ -19793,36 +20194,36 @@ msgstr "git reflog exists <tham_chiếu>"
 msgid "'%s' is not a valid timestamp"
 msgstr "“%s” không phải là dấu thời gian hợp lệ"
 
-#: builtin/reflog.c:606
+#: builtin/reflog.c:609
 #, c-format
 msgid "Marking reachable objects..."
 msgstr "Đánh dấu các đối tượng tiếp cận được…"
 
-#: builtin/reflog.c:644
+#: builtin/reflog.c:647
 #, c-format
 msgid "%s points nowhere!"
 msgstr "%s chẳng chỉ đến đâu cả!"
 
-#: builtin/reflog.c:696
+#: builtin/reflog.c:699
 msgid "no reflog specified to delete"
 msgstr "chưa chỉ ra reflog để xóa"
 
-#: builtin/reflog.c:705
+#: builtin/reflog.c:708
 #, c-format
 msgid "not a reflog: %s"
 msgstr "không phải một reflog: %s"
 
-#: builtin/reflog.c:710
+#: builtin/reflog.c:713
 #, c-format
 msgid "no reflog for '%s'"
 msgstr "không reflog cho “%s”"
 
-#: builtin/reflog.c:756
+#: builtin/reflog.c:759
 #, c-format
 msgid "invalid ref format: %s"
 msgstr "định dạng tham chiếu không hợp lệ: %s"
 
-#: builtin/reflog.c:765
+#: builtin/reflog.c:768
 msgid "git reflog [ show | expire | delete | exists ]"
 msgstr "git reflog [ show | expire | delete | exists ]"
 
@@ -20330,11 +20731,11 @@ msgstr "Không tìm thấy URL như vậy: %s"
 msgid "Will not delete all non-push URLs"
 msgstr "Sẽ không xóa những địa chỉ URL không-push"
 
-#: builtin/repack.c:25
+#: builtin/repack.c:26
 msgid "git repack [<options>]"
 msgstr "git repack [<các tùy chọn>]"
 
-#: builtin/repack.c:30
+#: builtin/repack.c:31
 msgid ""
 "Incremental repacks are incompatible with bitmap indexes.  Use\n"
 "--no-write-bitmap-index or disable the pack.writebitmaps configuration."
@@ -20342,120 +20743,120 @@ 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:197
+#: builtin/repack.c:198
 msgid "could not start pack-objects to repack promisor objects"
 msgstr ""
 "không thể lấy thông tin thống kê pack-objects để mà đóng gói lại các đối "
 "tượng hứa hẹn"
 
-#: builtin/repack.c:268 builtin/repack.c:447
+#: builtin/repack.c:270 builtin/repack.c:446
 msgid "repack: Expecting full hex object ID lines only from pack-objects."
 msgstr ""
 "repack: Đang chỉ cần các dòng ID đối tượng dạng thập lục phân đầy dủ từ pack-"
 "objects."
 
-#: builtin/repack.c:295
+#: builtin/repack.c:294
 msgid "could not finish pack-objects to repack promisor objects"
 msgstr "không thể hoàn tất pack-objects để đóng gói các đối tượng hứa hẹn"
 
-#: builtin/repack.c:323
+#: builtin/repack.c:322
 msgid "pack everything in a single pack"
 msgstr "đóng gói mọi thứ trong một gói đơn"
 
-#: builtin/repack.c:325
+#: builtin/repack.c:324
 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:328
+#: builtin/repack.c:327
 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:330
+#: builtin/repack.c:329
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "chuyển --no-reuse-delta cho git-pack-objects"
 
-#: builtin/repack.c:332
+#: builtin/repack.c:331
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "chuyển --no-reuse-object cho git-pack-objects"
 
-#: builtin/repack.c:334
+#: builtin/repack.c:333
 msgid "do not run git-update-server-info"
 msgstr "không chạy git-update-server-info"
 
-#: builtin/repack.c:337
+#: builtin/repack.c:336
 msgid "pass --local to git-pack-objects"
 msgstr "chuyển --local cho git-pack-objects"
 
-#: builtin/repack.c:339
+#: builtin/repack.c:338
 msgid "write bitmap index"
 msgstr "ghi mục lục ánh xạ"
 
-#: builtin/repack.c:341
+#: builtin/repack.c:340
 msgid "pass --delta-islands to git-pack-objects"
 msgstr "chuyển --delta-islands cho git-pack-objects"
 
-#: builtin/repack.c:342
+#: builtin/repack.c:341
 msgid "approxidate"
 msgstr "ngày ước tính"
 
-#: builtin/repack.c:343
+#: builtin/repack.c:342
 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:345
+#: builtin/repack.c:344
 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:347
+#: builtin/repack.c:346
 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:348 builtin/repack.c:354
+#: builtin/repack.c:347 builtin/repack.c:353
 msgid "bytes"
 msgstr "byte"
 
-#: builtin/repack.c:349
+#: builtin/repack.c:348
 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:351
+#: builtin/repack.c:350
 msgid "limits the maximum delta depth"
 msgstr "giới hạn độ sâu tối đa của “delta”"
 
-#: builtin/repack.c:353
+#: builtin/repack.c:352
 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:355
+#: builtin/repack.c:354
 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:357
+#: builtin/repack.c:356
 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:359
+#: builtin/repack.c:358
 msgid "do not repack this pack"
 msgstr "đừng đóng gói lại gói này"
 
-#: builtin/repack.c:369
+#: builtin/repack.c:368
 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:373
+#: builtin/repack.c:372
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable và -A xung khắc nhau"
 
-#: builtin/repack.c:456
+#: builtin/repack.c:455
 msgid "Nothing new to pack."
 msgstr "Không có gì mới để mà đóng gói."
 
-#: builtin/repack.c:486
+#: builtin/repack.c:485
 #, c-format
 msgid "missing required file: %s"
 msgstr "thiếu tập tin cần thiết: %s"
 
-#: builtin/repack.c:488
+#: builtin/repack.c:487
 #, c-format
 msgid "could not unlink: %s"
 msgstr "không thể bỏ liên kết: %s"
@@ -20789,8 +21190,8 @@ msgstr "HEAD hiện giờ tại %s"
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "Không thể thực hiện một %s reset ở giữa của quá trình hòa trộn."
 
-#: builtin/reset.c:295 builtin/stash.c:520 builtin/stash.c:594
-#: builtin/stash.c:618
+#: builtin/reset.c:295 builtin/stash.c:587 builtin/stash.c:661
+#: builtin/stash.c:685
 msgid "be quiet, only report errors"
 msgstr "làm việc ở chế độ im lặng, chỉ hiển thị khi có lỗi"
 
@@ -20875,19 +21276,19 @@ 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:499
+#: builtin/rev-list.c:534
 msgid "cannot combine --exclude-promisor-objects and --missing"
 msgstr "không thể tổ hợp --exclude-promisor-objects và --missing"
 
-#: builtin/rev-list.c:560
+#: builtin/rev-list.c:595
 msgid "object filtering requires --objects"
 msgstr "lọc đối tượng yêu cầu --objects"
 
-#: builtin/rev-list.c:610
+#: builtin/rev-list.c:651
 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:615
+#: builtin/rev-list.c:656
 msgid "marked counting is incompatible with --objects"
 msgstr "được đánh dấu đếm là xung khắc với --objects"
 
@@ -21123,53 +21524,53 @@ msgstr "git shortlog [<các tùy chọn>] [<vùng-xét-duyệt>] [[--] [<đườ
 msgid "git log --pretty=short | git shortlog [<options>]"
 msgstr "git log --pretty=short | git shortlog [<các tùy chọn>]"
 
-#: builtin/shortlog.c:135
+#: builtin/shortlog.c:123
 msgid "using multiple --group options with stdin is not supported"
 msgstr ""
 "việc dùng nhiều tùy chọn --group với đầu ra tiêu chuẩn là không được hỗ trợ"
 
-#: builtin/shortlog.c:145
+#: builtin/shortlog.c:133
 msgid "using --group=trailer with stdin is not supported"
 msgstr "việc dùng --group=trailer với đầu ra tiêu chuẩn là không được hỗ trợ"
 
-#: builtin/shortlog.c:335
+#: builtin/shortlog.c:323
 #, c-format
 msgid "unknown group type: %s"
 msgstr "không nhận ra kiểu nhóm: %s"
 
-#: builtin/shortlog.c:363
-msgid "Group by committer rather than author"
-msgstr "Nhóm theo người chuyển giao thay vì tác giả"
+#: builtin/shortlog.c:351
+msgid "group by committer rather than author"
+msgstr "nhóm theo người chuyển giao thay vì tác giả"
 
-#: builtin/shortlog.c:366
+#: builtin/shortlog.c:354
 msgid "sort output according to the number of commits per author"
 msgstr "sắp xếp kết xuất tuân theo số lượng chuyển giao trên mỗi tác giả"
 
-#: builtin/shortlog.c:368
-msgid "Suppress commit descriptions, only provides commit count"
-msgstr "Chặn mọi mô tả lần chuyển giao, chỉ đưa ra số lượng lần chuyển giao"
+#: builtin/shortlog.c:356
+msgid "suppress commit descriptions, only provides commit count"
+msgstr "chặn mọi mô tả lần chuyển giao, chỉ đưa ra số lượng lần chuyển giao"
 
-#: builtin/shortlog.c:370
-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:358
+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:371
+#: builtin/shortlog.c:359
 msgid "<w>[,<i1>[,<i2>]]"
 msgstr "<w>[,<i1>[,<i2>]]"
 
-#: builtin/shortlog.c:372
-msgid "Linewrap output"
-msgstr "Ngắt dòng khi quá dài"
+#: builtin/shortlog.c:360
+msgid "linewrap output"
+msgstr "ngắt dòng khi quá dài"
 
-#: builtin/shortlog.c:374
+#: builtin/shortlog.c:362
 msgid "field"
 msgstr "trường"
 
-#: builtin/shortlog.c:375
-msgid "Group by field"
-msgstr "Nhóm theo trường"
+#: builtin/shortlog.c:363
+msgid "group by field"
+msgstr "nhóm theo trường"
 
-#: builtin/shortlog.c:403
+#: builtin/shortlog.c:391
 msgid "too many arguments given outside repository"
 msgstr "quá nhiều tham số đưa ra ngoài kho chứa"
 
@@ -21366,72 +21767,72 @@ msgstr ""
 msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
 msgstr "git sparse-checkout (init|list|set|add|reapply|disable) <các-tùy-chọn>"
 
-#: builtin/sparse-checkout.c:50
+#: builtin/sparse-checkout.c:45
 msgid "git sparse-checkout list"
 msgstr "git sparse-checkout list"
 
-#: builtin/sparse-checkout.c:76
+#: builtin/sparse-checkout.c:71
 msgid "this worktree is not sparse (sparse-checkout file may not exist)"
 msgstr ""
 "không thể phân tích cú pháp cây làm việc này (tập tin sparse-checkout có lẽ "
 "không tồn tại)"
 
-#: builtin/sparse-checkout.c:228
+#: builtin/sparse-checkout.c:223
 msgid "failed to create directory for sparse-checkout file"
 msgstr "gặp lỗi khi tạo thư mục cho tập tin sparse-checkout"
 
-#: builtin/sparse-checkout.c:269
+#: builtin/sparse-checkout.c:264
 msgid "unable to upgrade repository format to enable worktreeConfig"
 msgstr "không thể nâng cấp định dạng kho lưu trữ để kích hoạt worktreeConfig"
 
-#: builtin/sparse-checkout.c:271
+#: builtin/sparse-checkout.c:266
 msgid "failed to set extensions.worktreeConfig setting"
 msgstr "gặp lỗi khi đặt cài đặt extensions.worktreeConfig"
 
-#: builtin/sparse-checkout.c:288
+#: builtin/sparse-checkout.c:283
 msgid "git sparse-checkout init [--cone]"
 msgstr "git sparse-checkout init [--cone]"
 
-#: builtin/sparse-checkout.c:307
+#: builtin/sparse-checkout.c:302
 msgid "initialize the sparse-checkout in cone mode"
 msgstr "khởi tạo sparse-checkout trong chế độ nón"
 
-#: builtin/sparse-checkout.c:344
+#: builtin/sparse-checkout.c:339
 #, c-format
 msgid "failed to open '%s'"
 msgstr "gặp lỗi khi mở “%s”"
 
-#: builtin/sparse-checkout.c:401
+#: builtin/sparse-checkout.c:396
 #, c-format
 msgid "could not normalize path %s"
 msgstr "không thể thường hóa đường dẫn “%s”"
 
-#: builtin/sparse-checkout.c:413
+#: builtin/sparse-checkout.c:408
 msgid "git sparse-checkout (set|add) (--stdin | <patterns>)"
 msgstr "git sparse-checkout (set|add) (--stdin | <các mẫu>)"
 
-#: builtin/sparse-checkout.c:438
+#: builtin/sparse-checkout.c:433
 #, c-format
 msgid "unable to unquote C-style string '%s'"
 msgstr "không thể bỏ trích dẫn chuỗi kiểu C “%s”"
 
-#: builtin/sparse-checkout.c:492 builtin/sparse-checkout.c:516
+#: builtin/sparse-checkout.c:487 builtin/sparse-checkout.c:511
 msgid "unable to load existing sparse-checkout patterns"
 msgstr "không thể tải các mẫu sparse-checkout"
 
-#: builtin/sparse-checkout.c:561
+#: builtin/sparse-checkout.c:556
 msgid "read patterns from standard in"
 msgstr "đọc các mẫu từ đầu vào tiêu chuẩn"
 
-#: builtin/sparse-checkout.c:576
+#: builtin/sparse-checkout.c:571
 msgid "git sparse-checkout reapply"
 msgstr "git sparse-checkout reapply"
 
-#: builtin/sparse-checkout.c:595
+#: builtin/sparse-checkout.c:590
 msgid "git sparse-checkout disable"
 msgstr "git sparse-checkout disable"
 
-#: builtin/sparse-checkout.c:623
+#: builtin/sparse-checkout.c:618
 msgid "error while refreshing working directory"
 msgstr "gặp lỗi khi đọc lại thư mục làm việc"
 
@@ -21521,154 +21922,164 @@ msgid "%s is not a valid reference"
 msgstr "“%s” không phải một tham chiếu hợp lệ"
 
 #: builtin/stash.c:225
-msgid "git stash clear with parameters is unimplemented"
+msgid "git stash clear with arguments is unimplemented"
+msgstr "git stash clear với các tham số là chưa được thực hiện"
+
+#: builtin/stash.c:429
+#, c-format
+msgid ""
+"WARNING: Untracked file in way of tracked file!  Renaming\n"
+"            %s -> %s\n"
+"         to make room.\n"
 msgstr ""
-"git stash clear với các tham số là chưa được thực hiện (không nhận đối số)"
+"CẢNH BÁO: Tệp chưa được theo dõi theo cách của tệp được theo dõi!  Đổi tên\n"
+"            %s -> %s\n"
+"         để nhường chỗ.\n"
 
-#: builtin/stash.c:404
+#: builtin/stash.c:490
 msgid "cannot apply a stash in the middle of a merge"
 msgstr "không thể áp dụng một stash ở giữa của quá trình hòa trộn"
 
-#: builtin/stash.c:415
+#: builtin/stash.c:501
 #, c-format
 msgid "could not generate diff %s^!."
 msgstr "không thể tạo diff %s^!."
 
-#: builtin/stash.c:422
+#: builtin/stash.c:508
 msgid "conflicts in index. Try without --index."
 msgstr "xung đột trong bảng mục lục. Hãy thử mà không dùng tùy chọn --index."
 
-#: builtin/stash.c:428
+#: builtin/stash.c:514
 msgid "could not save index tree"
 msgstr "không thể ghi lại cây chỉ mục"
 
-#: builtin/stash.c:437
+#: builtin/stash.c:523
 msgid "could not restore untracked files from stash"
 msgstr "không thể phục hồi các tập tin chưa theo dõi từ mục cất đi (stash)"
 
-#: builtin/stash.c:451
+#: builtin/stash.c:537
 #, c-format
 msgid "Merging %s with %s"
 msgstr "Đang hòa trộn %s với %s"
 
-#: builtin/stash.c:461
+#: builtin/stash.c:547
 msgid "Index was not unstashed."
 msgstr "Bảng mục lục đã không được bỏ stash."
 
-#: builtin/stash.c:522 builtin/stash.c:620
+#: builtin/stash.c:589 builtin/stash.c:687
 msgid "attempt to recreate the index"
 msgstr "gặp lỗi đọc bảng mục lục"
 
-#: builtin/stash.c:566
+#: builtin/stash.c:633
 #, c-format
 msgid "Dropped %s (%s)"
 msgstr "Đã xóa %s (%s)"
 
-#: builtin/stash.c:569
+#: builtin/stash.c:636
 #, c-format
 msgid "%s: Could not drop stash entry"
 msgstr "%s: Không thể xóa bỏ mục stash"
 
-#: builtin/stash.c:582
+#: builtin/stash.c:649
 #, c-format
 msgid "'%s' is not a stash reference"
 msgstr "”%s” không phải tham chiếu đến stash"
 
-#: builtin/stash.c:632
+#: builtin/stash.c:699
 msgid "The stash entry is kept in case you need it again."
 msgstr "Các mục tạm cất (stash) được giữ trong trường hợp bạn lại cần nó."
 
-#: builtin/stash.c:655
+#: builtin/stash.c:722
 msgid "No branch name specified"
 msgstr "Chưa chỉ ra tên của nhánh"
 
-#: builtin/stash.c:799 builtin/stash.c:836
+#: builtin/stash.c:866 builtin/stash.c:903
 #, c-format
 msgid "Cannot update %s with %s"
 msgstr "Không thể cập nhật %s với %s"
 
-#: builtin/stash.c:817 builtin/stash.c:1471 builtin/stash.c:1536
+#: builtin/stash.c:884 builtin/stash.c:1538 builtin/stash.c:1603
 msgid "stash message"
 msgstr "phần chú thích cho stash"
 
-#: builtin/stash.c:827
+#: builtin/stash.c:894
 msgid "\"git stash store\" requires one <commit> argument"
 msgstr "\"git stash store\" cần một đối số <lần chuyển giao>"
 
-#: builtin/stash.c:1042
+#: builtin/stash.c:1109
 msgid "No changes selected"
 msgstr "Chưa có thay đổi nào được chọn"
 
-#: builtin/stash.c:1142
+#: builtin/stash.c:1209
 msgid "You do not have the initial commit yet"
 msgstr "Bạn chưa còn có lần chuyển giao khởi tạo"
 
-#: builtin/stash.c:1169
+#: builtin/stash.c:1236
 msgid "Cannot save the current index state"
 msgstr "Không thể ghi lại trạng thái bảng mục lục hiện hành"
 
-#: builtin/stash.c:1178
+#: builtin/stash.c:1245
 msgid "Cannot save the untracked files"
 msgstr "Không thể ghi lại các tập tin chưa theo dõi"
 
-#: builtin/stash.c:1189 builtin/stash.c:1198
+#: builtin/stash.c:1256 builtin/stash.c:1265
 msgid "Cannot save the current worktree state"
 msgstr "Không thể ghi lại trạng thái cây-làm-việc hiện hành"
 
-#: builtin/stash.c:1226
+#: builtin/stash.c:1293
 msgid "Cannot record working tree state"
 msgstr "Không thể ghi lại trạng thái cây làm việc hiện hành"
 
-#: builtin/stash.c:1275
+#: builtin/stash.c:1342
 msgid "Can't use --patch and --include-untracked or --all at the same time"
 msgstr "Không thể dùng --patch và --include-untracked hay --all cùng một lúc"
 
-#: builtin/stash.c:1291
+#: builtin/stash.c:1358
 msgid "Did you forget to 'git add'?"
 msgstr "Có lẽ bạn đã quên “git add ” phải không?"
 
-#: builtin/stash.c:1306
+#: builtin/stash.c:1373
 msgid "No local changes to save"
 msgstr "Không có thay đổi nội bộ nào được ghi lại"
 
-#: builtin/stash.c:1313
+#: builtin/stash.c:1380
 msgid "Cannot initialize stash"
 msgstr "Không thể khởi tạo stash"
 
-#: builtin/stash.c:1328
+#: builtin/stash.c:1395
 msgid "Cannot save the current status"
 msgstr "Không thể ghi lại trạng thái hiện hành"
 
-#: builtin/stash.c:1333
+#: builtin/stash.c:1400
 #, c-format
 msgid "Saved working directory and index state %s"
 msgstr "Đã ghi lại thư mục làm việc và trạng thái mục lục %s"
 
-#: builtin/stash.c:1423
+#: builtin/stash.c:1490
 msgid "Cannot remove worktree changes"
 msgstr "Không thể gỡ bỏ các thay đổi cây-làm-việc"
 
-#: builtin/stash.c:1462 builtin/stash.c:1527
+#: builtin/stash.c:1529 builtin/stash.c:1594
 msgid "keep index"
 msgstr "giữ nguyên bảng mục lục"
 
-#: builtin/stash.c:1464 builtin/stash.c:1529
+#: builtin/stash.c:1531 builtin/stash.c:1596
 msgid "stash in patch mode"
 msgstr "cất đi ở chế độ miếng vá"
 
-#: builtin/stash.c:1465 builtin/stash.c:1530
+#: builtin/stash.c:1532 builtin/stash.c:1597
 msgid "quiet mode"
 msgstr "chế độ im lặng"
 
-#: builtin/stash.c:1467 builtin/stash.c:1532
+#: builtin/stash.c:1534 builtin/stash.c:1599
 msgid "include untracked files in stash"
 msgstr "bao gồm các tập tin không được theo dõi trong stash"
 
-#: builtin/stash.c:1469 builtin/stash.c:1534
+#: builtin/stash.c:1536 builtin/stash.c:1601
 msgid "include ignore files"
 msgstr "bao gồm các tập tin bị bỏ qua"
 
-#: builtin/stash.c:1569
+#: builtin/stash.c:1636
 msgid ""
 "the stash.useBuiltin support has been removed!\n"
 "See its entry in 'git help config' for details."
@@ -21746,12 +22157,13 @@ msgstr ""
 "."
 
 #: builtin/submodule--helper.c:565
-msgid "Suppress output of entering each submodule command"
-msgstr "Chặn kết xuất của từng lệnh mô-đun-con"
+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:567 builtin/submodule--helper.c:1487
-msgid "Recurse into nested submodules"
-msgstr "Đệ quy vào trong các mô-đun-con lồng nhau"
+#: builtin/submodule--helper.c:567 builtin/submodule--helper.c:888
+#: builtin/submodule--helper.c:1487
+msgid "recurse into nested submodules"
+msgstr "đệ quy vào trong mô-đun-con lồng nhau"
 
 #: builtin/submodule--helper.c:572
 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
@@ -21787,8 +22199,8 @@ 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:709
-msgid "Suppress output for initializing a submodule"
-msgstr "Chặn kết xuất cho khởi tạo một mô-đun-con"
+msgid "suppress output for initializing a submodule"
+msgstr "chặn kết xuất của khởi tạo một mô-đun-con"
 
 #: builtin/submodule--helper.c:714
 msgid "git submodule--helper init [<options>] [<path>]"
@@ -21812,21 +22224,17 @@ 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:886 builtin/submodule--helper.c:1623
-msgid "Suppress submodule status output"
-msgstr "Chặn két xuất tình trạng mô-đun-con"
+msgid "suppress submodule status output"
+msgstr "chặn kết xuất về tình trạng mô-đun-con"
 
 #: builtin/submodule--helper.c:887
 msgid ""
-"Use commit stored in the index instead of the one stored in the submodule "
+"use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
 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ô-"
+"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:888
-msgid "recurse into nested submodules"
-msgstr "đệ quy vào trong mô-đun-con lồng nhau"
-
 #: builtin/submodule--helper.c:893
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr ""
@@ -21916,8 +22324,8 @@ 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:1485
-msgid "Suppress output of synchronizing submodule url"
-msgstr "Chặn kết xuất cho đồng bộ url mô-đun-con"
+msgid "suppress output of synchronizing submodule url"
+msgstr "chặn kết xuất của url mô-đun-con đồng bộ"
 
 #: builtin/submodule--helper.c:1492
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
@@ -21962,12 +22370,12 @@ 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:1624
-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ộ"
+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:1625
-msgid "Unregister all submodules"
-msgstr "Bỏ đăng ký tất cả các trong mô-đun-con"
+msgid "unregister all submodules"
+msgstr "bỏ đăng ký tất cả các trong mô-đun-con"
 
 #: builtin/submodule--helper.c:1630
 msgid ""
@@ -22116,9 +22524,9 @@ msgid "rebase, merge, checkout or none"
 msgstr "rebase, merge, checkout hoặc không làm gì cả"
 
 #: builtin/submodule--helper.c:2340
-msgid "Create a shallow clone truncated to the specified number of revisions"
+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"
+"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:2343
 msgid "parallel jobs"
@@ -22189,8 +22597,8 @@ msgid "please make sure that the .gitmodules file is in the working tree"
 msgstr "hãy đảm bảo rằng tập tin .gitmodules có trong cây làm việc"
 
 #: builtin/submodule--helper.c:2681
-msgid "Suppress output for setting url of a submodule"
-msgstr "Chặn kết xuất cho cài đặt url của một mô-đun-con"
+msgid "suppress output for setting url of a submodule"
+msgstr "chặn kết xuất cho cài đặt url của một mô-đun-con"
 
 #: builtin/submodule--helper.c:2685
 msgid "git submodule--helper set-url [--quiet] <path> <newurl>"
@@ -22224,7 +22632,7 @@ msgstr "cần --branch hoặc --default"
 msgid "--branch and --default are mutually exclusive"
 msgstr "Các tùy chọn --branch và --default loại từ lẫn nhau"
 
-#: builtin/submodule--helper.c:2792 git.c:438 git.c:711
+#: builtin/submodule--helper.c:2792 git.c:441 git.c:714
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s không hỗ trợ --super-prefix"
@@ -22295,12 +22703,12 @@ msgstr "git tag -v [--format=<định_dạng>]  <tên-thẻ>…"
 msgid "tag '%s' not found."
 msgstr "không tìm thấy tìm thấy thẻ “%s”."
 
-#: builtin/tag.c:105
+#: builtin/tag.c:124
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "Thẻ đã bị xóa “%s” (từng là %s)\n"
 
-#: builtin/tag.c:135
+#: builtin/tag.c:159
 #, c-format
 msgid ""
 "\n"
@@ -22313,7 +22721,7 @@ msgstr ""
 "  %s\n"
 "Những dòng được bắt đầu bằng “%c” sẽ được bỏ qua.\n"
 
-#: builtin/tag.c:139
+#: builtin/tag.c:163
 #, c-format
 msgid ""
 "\n"
@@ -22328,15 +22736,11 @@ msgstr ""
 "Những dòng được bắt đầu bằng “%c” sẽ được giữ lại; bạn có thể xóa chúng đi "
 "nếu muốn.\n"
 
-#: builtin/tag.c:198
+#: builtin/tag.c:230
 msgid "unable to sign the tag"
 msgstr "không thể ký thẻ"
 
-#: builtin/tag.c:200
-msgid "unable to write tag file"
-msgstr "không thể ghi vào tập tin lưu thẻ"
-
-#: builtin/tag.c:216
+#: builtin/tag.c:248
 #, c-format
 msgid ""
 "You have created a nested tag. The object referred to by your new tag is\n"
@@ -22349,139 +22753,135 @@ msgstr ""
 "\n"
 "\tgit tag -f %s %s^{}"
 
-#: builtin/tag.c:232
+#: builtin/tag.c:264
 msgid "bad object type."
 msgstr "kiểu đối tượng sai."
 
-#: builtin/tag.c:285
+#: builtin/tag.c:317
 msgid "no tag message?"
 msgstr "không có chú thích gì cho cho thẻ à?"
 
-#: builtin/tag.c:292
+#: builtin/tag.c:324
 #, 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:403
+#: builtin/tag.c:435
 msgid "list tag names"
 msgstr "chỉ liệt kê tên các thẻ"
 
-#: builtin/tag.c:405
+#: builtin/tag.c:437
 msgid "print <n> lines of each tag message"
 msgstr "hiển thị <n> dòng cho mỗi ghi chú"
 
-#: builtin/tag.c:407
+#: builtin/tag.c:439
 msgid "delete tags"
 msgstr "xóa thẻ"
 
-#: builtin/tag.c:408
+#: builtin/tag.c:440
 msgid "verify tags"
 msgstr "thẩm tra thẻ"
 
-#: builtin/tag.c:410
+#: builtin/tag.c:442
 msgid "Tag creation options"
 msgstr "Tùy chọn tạo thẻ"
 
-#: builtin/tag.c:412
+#: builtin/tag.c:444
 msgid "annotated tag, needs a message"
 msgstr "để chú giải cho thẻ, cần một lời ghi chú"
 
-#: builtin/tag.c:414
+#: builtin/tag.c:446
 msgid "tag message"
 msgstr "phần chú thích cho thẻ"
 
-#: builtin/tag.c:416
+#: builtin/tag.c:448
 msgid "force edit of tag message"
 msgstr "ép buộc sửa thẻ lần commit"
 
-#: builtin/tag.c:417
+#: builtin/tag.c:449
 msgid "annotated and GPG-signed tag"
 msgstr "thẻ chú giải và ký kiểu GPG"
 
-#: builtin/tag.c:420
+#: builtin/tag.c:452
 msgid "use another key to sign the tag"
 msgstr "dùng kháo khác để ký thẻ"
 
-#: builtin/tag.c:421
+#: builtin/tag.c:453
 msgid "replace the tag if exists"
 msgstr "thay thế nếu thẻ đó đã có trước"
 
-#: builtin/tag.c:422 builtin/update-ref.c:505
+#: builtin/tag.c:454 builtin/update-ref.c:505
 msgid "create a reflog"
 msgstr "tạo một reflog"
 
-#: builtin/tag.c:424
+#: builtin/tag.c:456
 msgid "Tag listing options"
 msgstr "Các tùy chọn liệt kê thẻ"
 
-#: builtin/tag.c:425
+#: builtin/tag.c:457
 msgid "show tag list in columns"
 msgstr "hiển thị danh sách thẻ trong các cột"
 
-#: builtin/tag.c:426 builtin/tag.c:428
+#: builtin/tag.c:458 builtin/tag.c:460
 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:427 builtin/tag.c:429
+#: builtin/tag.c:459 builtin/tag.c:461
 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:430
+#: builtin/tag.c:462
 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:431
+#: builtin/tag.c:463
 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:435
+#: builtin/tag.c:467
 msgid "print only tags of the object"
 msgstr "chỉ hiển thị các thẻ của đối tượng"
 
-#: builtin/tag.c:483
+#: builtin/tag.c:515
 msgid "--column and -n are incompatible"
 msgstr "--column và -n xung khắc nhau"
 
-#: builtin/tag.c:505
+#: builtin/tag.c:537
 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:507
+#: builtin/tag.c:539
 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:509
+#: builtin/tag.c:541
 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:511
+#: builtin/tag.c:543
 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:513
+#: builtin/tag.c:545
 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:524
+#: builtin/tag.c:556
 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:543
-msgid "too many params"
-msgstr "quá nhiều đối số"
-
-#: builtin/tag.c:549
+#: builtin/tag.c:581
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "“%s” không phải thẻ hợp lệ."
 
-#: builtin/tag.c:554
+#: builtin/tag.c:586
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "thẻ “%s” đã tồn tại rồi"
 
-#: builtin/tag.c:585
+#: builtin/tag.c:617
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Đã cập nhật thẻ “%s” (trước là %s)\n"
@@ -22839,89 +23239,63 @@ msgstr "git verify-tag [-v | --verbose] [--format=<định_dạng>] <thẻ>…"
 msgid "print tag contents"
 msgstr "hiển thị nội dung của thẻ"
 
-#: builtin/worktree.c:17
+#: builtin/worktree.c:18
 msgid "git worktree add [<options>] <path> [<commit-ish>]"
 msgstr "git worktree add [<các tùy chọn>] </đường/dẫn> [<commit-ish>]"
 
-#: builtin/worktree.c:18
+#: builtin/worktree.c:19
 msgid "git worktree list [<options>]"
 msgstr "git worktree list [<các tùy chọn>]"
 
-#: builtin/worktree.c:19
+#: builtin/worktree.c:20
 msgid "git worktree lock [<options>] <path>"
 msgstr "git worktree lock [<các tùy chọn>] </đường/dẫn>"
 
-#: builtin/worktree.c:20
+#: builtin/worktree.c:21
 msgid "git worktree move <worktree> <new-path>"
 msgstr "git worktree move <worktree> </đường/dẫn/mới>"
 
-#: builtin/worktree.c:21
+#: builtin/worktree.c:22
 msgid "git worktree prune [<options>]"
 msgstr "git worktree prune [<các tùy chọn>]"
 
-#: builtin/worktree.c:22
+#: builtin/worktree.c:23
 msgid "git worktree remove [<options>] <worktree>"
 msgstr "git worktree remove [<các tùy chọn>] <worktree>"
 
-#: builtin/worktree.c:23
+#: builtin/worktree.c:24
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock </đường/dẫn>"
 
-#: builtin/worktree.c:60 builtin/worktree.c:973
+#: builtin/worktree.c:61 builtin/worktree.c:933
 #, c-format
 msgid "failed to delete '%s'"
 msgstr "gặp lỗi khi xóa “%s”"
 
-#: builtin/worktree.c:85
-msgid "not a valid directory"
-msgstr "không phải thư mục hợp lệ"
-
-#: builtin/worktree.c:91
-msgid "gitdir file does not exist"
-msgstr "tập tin gitdir không tồn tại"
-
-#: builtin/worktree.c:96 builtin/worktree.c:105
-#, c-format
-msgid "unable to read gitdir file (%s)"
-msgstr "không thể đọc tập tin gitdir (%s)"
-
-#: builtin/worktree.c:115
-#, c-format
-msgid "short read (expected %<PRIuMAX> bytes, read %<PRIuMAX>)"
-msgstr "đọc ngắn (cần %<PRIuMAX> byte, đọc %<PRIuMAX>)"
-
-#: builtin/worktree.c:123
-msgid "invalid gitdir file"
-msgstr "tập tin gitdir (thư mục git) không hợp lệ"
-
-#: builtin/worktree.c:131
-msgid "gitdir file points to non-existent location"
-msgstr "tập tin gitdir chỉ đến vị trí không tồn tại"
-
-#: builtin/worktree.c:146
+#: builtin/worktree.c:74
 #, c-format
 msgid "Removing %s/%s: %s"
 msgstr "Đang xóa %s/%s: %s"
 
-#: builtin/worktree.c:221
+#: builtin/worktree.c:149
 msgid "report pruned working trees"
 msgstr "báo cáo các cây làm việc đã prune"
 
-#: builtin/worktree.c:223
+#: builtin/worktree.c:151
 msgid "expire working trees older than <time>"
 msgstr "các cây làm việc hết hạn cũ hơn khoảng <thời gian>"
 
-#: builtin/worktree.c:293
+#: builtin/worktree.c:221
 #, c-format
 msgid "'%s' already exists"
 msgstr "“%s” đã có từ trước rồi"
 
-#: builtin/worktree.c:302
+#: builtin/worktree.c:230
 #, c-format
 msgid "unusable worktree destination '%s'"
 msgstr "đích cây làm việc không sử dụng được “%s”"
 
-#: builtin/worktree.c:307
+#: builtin/worktree.c:235
 #, c-format
 msgid ""
 "'%s' is a missing but locked worktree;\n"
@@ -22930,7 +23304,7 @@ msgstr ""
 "“%s” bị mất nhưng cây làm việc bị khóa;\n"
 "dùng “%s -f -f” để ghi đè, hoặc “unlock” và “prune” hay “remove” để xóa"
 
-#: builtin/worktree.c:309
+#: builtin/worktree.c:237
 #, c-format
 msgid ""
 "'%s' is a missing but already registered worktree;\n"
@@ -22939,115 +23313,129 @@ msgstr ""
 "“%s” bị mất nhưng cây làm việc đã được đăng ký;\n"
 "dùng “%s -f” để ghi đè, hoặc “prune” hay “remove” để xóa"
 
-#: builtin/worktree.c:360
+#: builtin/worktree.c:288
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "không thể tạo thư mục của “%s”"
 
-#: builtin/worktree.c:494 builtin/worktree.c:500
+#: builtin/worktree.c:422 builtin/worktree.c:428
 #, 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:496
+#: builtin/worktree.c:424
 #, 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:505
+#: builtin/worktree.c:433
 #, 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:511
+#: builtin/worktree.c:439
 #, 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:552
+#: builtin/worktree.c:480
 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:555
+#: builtin/worktree.c:483
 msgid "create a new branch"
 msgstr "tạo nhánh mới"
 
-#: builtin/worktree.c:557
+#: builtin/worktree.c:485
 msgid "create or reset a branch"
 msgstr "tạo hay đặt lại một nhánh"
 
-#: builtin/worktree.c:559
+#: builtin/worktree.c:487
 msgid "populate the new working tree"
 msgstr "di chuyển cây làm việc mới"
 
-#: builtin/worktree.c:560
+#: builtin/worktree.c:488
 msgid "keep the new working tree locked"
 msgstr "giữ cây làm việc mới bị khóa"
 
-#: builtin/worktree.c:563
+#: builtin/worktree.c:491
 msgid "set up tracking mode (see git-branch(1))"
 msgstr "cài đặt chế độ theo dõi (xem git-branch(1))"
 
-#: builtin/worktree.c:566
+#: builtin/worktree.c:494
 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:574
+#: builtin/worktree.c:502
 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:635
+#: builtin/worktree.c:563
 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:758
+#: builtin/worktree.c:680
+msgid "show extended annotations and reasons, if available"
+msgstr "hiển thị chú thích và lý do mở rộng, nếu có"
+
+#: builtin/worktree.c:682
+msgid "add 'prunable' annotation to worktrees older than <time>"
+msgstr ""
+"thêm chú thích kiểu 'prunable' cho các cây làm việc hết hạn cũ hơn khoảng "
+"<thời gian>"
+
+#: builtin/worktree.c:691
+msgid "--verbose and --porcelain are mutually exclusive"
+msgstr "--verbose và --porcelain loại từ lẫn nhau"
+
+#: builtin/worktree.c:718
 msgid "reason for locking"
 msgstr "lý do khóa"
 
-#: builtin/worktree.c:770 builtin/worktree.c:803 builtin/worktree.c:877
-#: builtin/worktree.c:1001
+#: builtin/worktree.c:730 builtin/worktree.c:763 builtin/worktree.c:837
+#: builtin/worktree.c:961
 #, 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:772 builtin/worktree.c:805
+#: builtin/worktree.c:732 builtin/worktree.c:765
 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:777
+#: builtin/worktree.c:737
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "“%s” đã được khóa rồi, lý do: %s"
 
-#: builtin/worktree.c:779
+#: builtin/worktree.c:739
 #, c-format
 msgid "'%s' is already locked"
 msgstr "“%s” đã được khóa rồi"
 
-#: builtin/worktree.c:807
+#: builtin/worktree.c:767
 #, c-format
 msgid "'%s' is not locked"
 msgstr "“%s” chưa bị khóa"
 
-#: builtin/worktree.c:848
+#: builtin/worktree.c:808
 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:856
+#: builtin/worktree.c:816
 msgid "force move even if worktree is dirty or locked"
 msgstr "ép buộc ngay cả khi cây làm việc đang bẩn hay bị khóa"
 
-#: builtin/worktree.c:879 builtin/worktree.c:1003
+#: builtin/worktree.c:839 builtin/worktree.c:963
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr "“%s” là cây làm việc chính"
 
-#: builtin/worktree.c:884
+#: builtin/worktree.c:844
 #, 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:897
+#: builtin/worktree.c:857
 #, c-format
 msgid ""
 "cannot move a locked working tree, lock reason: %s\n"
@@ -23056,7 +23444,7 @@ msgstr ""
 "không thể di chuyển một cây-làm-việc bị khóa, khóa vì: %s\n"
 "dùng “move -f -f” để ghi đè hoặc mở khóa trước đã"
 
-#: builtin/worktree.c:899
+#: builtin/worktree.c:859
 msgid ""
 "cannot move a locked working tree;\n"
 "use 'move -f -f' to override or unlock first"
@@ -23064,38 +23452,38 @@ msgstr ""
 "không thể di chuyển một cây-làm-việc bị khóa;\n"
 "dùng “move -f -f” để ghi đè hoặc mở khóa trước đã"
 
-#: builtin/worktree.c:902
+#: builtin/worktree.c:862
 #, 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:907
+#: builtin/worktree.c:867
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "gặp lỗi khi chuyển “%s” sang “%s”"
 
-#: builtin/worktree.c:953
+#: builtin/worktree.c:913
 #, 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:957
+#: builtin/worktree.c:917
 #, c-format
 msgid "'%s' contains modified or untracked files, use --force to delete it"
 msgstr ""
 "“%s” có chứa các tập tin đã bị sửa chữa hoặc chưa được theo dõi, hãy dùng --"
 "force để xóa nó"
 
-#: builtin/worktree.c:962
+#: builtin/worktree.c:922
 #, 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:985
+#: builtin/worktree.c:945
 msgid "force removal even if worktree is dirty or locked"
 msgstr "ép buộc di chuyển thậm chí cả khi cây làm việc đang bẩn hay bị khóa"
 
-#: builtin/worktree.c:1008
+#: builtin/worktree.c:968
 #, c-format
 msgid ""
 "cannot remove a locked working tree, lock reason: %s\n"
@@ -23104,7 +23492,7 @@ msgstr ""
 "không thể xóa bỏ một cây-làm-việc bị khóa, khóa vì: %s\n"
 "dùng “remove -f -f” để ghi đè hoặc mở khóa trước đã"
 
-#: builtin/worktree.c:1010
+#: builtin/worktree.c:970
 msgid ""
 "cannot remove a locked working tree;\n"
 "use 'remove -f -f' to override or unlock first"
@@ -23112,17 +23500,17 @@ msgstr ""
 "không thể xóa bỏ một cây-làm-việc bị khóa;\n"
 "dùng “remove -f -f” để ghi đè hoặc mở khóa trước đã"
 
-#: builtin/worktree.c:1013
+#: builtin/worktree.c:973
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr "thẩm tra gặp lỗi, không thể gỡ bỏ một cây-làm-việc: %s"
 
-#: builtin/worktree.c:1037
+#: builtin/worktree.c:997
 #, c-format
 msgid "repair: %s: %s"
 msgstr "sửa chữa: %s: %s"
 
-#: builtin/worktree.c:1040
+#: builtin/worktree.c:1000
 #, c-format
 msgid "error: %s: %s"
 msgstr "lỗi: %s: %s"
@@ -23143,15 +23531,24 @@ msgstr "ghi đối tượng cây (tree) cho <tiền tố> thư mục con"
 msgid "only useful for debugging"
 msgstr "chỉ hữu ích khi cần gỡ lỗi"
 
-#: http-fetch.c:114
+#: http-fetch.c:118
 #, c-format
 msgid "argument to --packfile must be a valid hash (got '%s')"
 msgstr "tham số cho --packfile phải là một giá trị băm hợp lệ (nhận được “%s”)"
 
-#: http-fetch.c:122
+#: http-fetch.c:128
 msgid "not a git repository"
 msgstr "không phải là kho git"
 
+#: http-fetch.c:134
+#| msgid "--pathspec-file-nul requires --pathspec-from-file"
+msgid "--packfile requires --index-pack-args"
+msgstr "--packfile cần --index-pack-args"
+
+#: http-fetch.c:143
+msgid "--index-pack-args can only be used with --packfile"
+msgstr "--index-pack-args chỉ được dùng khi có --packfile"
+
 #: t/helper/test-fast-rebase.c:141
 msgid "unhandled options"
 msgstr "các tùy chọn được không xử lý"
@@ -23184,6 +23581,7 @@ msgid ""
 "           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--"
 "bare]\n"
 "           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]\n"
+"           [--super-prefix=<path>] [--config-env=<name>=<envvar>]\n"
 "           <command> [<args>]"
 msgstr ""
 "git [--version] [--help] [-C </đường/dẫn/>] [-c <tên>=<giá trị>]\n"
@@ -23193,9 +23591,10 @@ msgstr ""
 "bare]\n"
 "           [--git-dir=</đường/dẫn/>] [--work-tree=</đường/dẫn/>] [--"
 "namespace=<tên>]\n"
+"           [--super-prefix=</đường/dẫn/>] [--config-env=<tên>=<envvar>]\n"
 "           <lệnh> [<các tham số>]"
 
-#: git.c:35
+#: git.c:36
 msgid ""
 "'git help -a' and 'git help -g' list available subcommands and some\n"
 "concept guides. See 'git help <command>' or 'git help <concept>'\n"
@@ -23207,47 +23606,47 @@ msgstr ""
 "để xem các đặc tả cho lệnh hay khái niệm cụ thể.\n"
 "Xem “git help git” để biết tổng quan của hệ thống."
 
-#: git.c:187
+#: git.c:188
 #, c-format
 msgid "no directory given for --git-dir\n"
 msgstr "chưa chỉ ra thư mục cho --git-dir\n"
 
-#: git.c:201
+#: git.c:202
 #, c-format
 msgid "no namespace given for --namespace\n"
 msgstr "chưa đưa ra không gian làm việc cho --namespace\n"
 
-#: git.c:215
+#: git.c:216
 #, c-format
 msgid "no directory given for --work-tree\n"
 msgstr "chưa đưa ra cây làm việc cho --work-tree\n"
 
-#: git.c:229
+#: git.c:230
 #, c-format
 msgid "no prefix given for --super-prefix\n"
 msgstr "chưa đưa ra tiền tố cho --super-prefix\n"
 
-#: git.c:251
+#: git.c:252
 #, c-format
 msgid "-c expects a configuration string\n"
 msgstr "-c cần một chuỗi cấu hình\n"
 
-#: git.c:289
+#: git.c:292
 #, c-format
 msgid "no directory given for -C\n"
 msgstr "chưa đưa ra thư mục cho -C\n"
 
-#: git.c:315
+#: git.c:318
 #, c-format
 msgid "unknown option: %s\n"
 msgstr "không hiểu tùy chọn: %s\n"
 
-#: git.c:364
+#: git.c:367
 #, c-format
 msgid "while expanding alias '%s': '%s'"
 msgstr "trong khi triển khai bí danh “%s”: “%s”"
 
-#: git.c:373
+#: git.c:376
 #, c-format
 msgid ""
 "alias '%s' changes environment variables.\n"
@@ -23256,40 +23655,40 @@ msgstr ""
 "bí danh “%s” thay đổi biến môi trường.\n"
 "Bạn có thể sử dụng “!git” trong đặt bí danh để làm việc này"
 
-#: git.c:380
+#: git.c:383
 #, c-format
 msgid "empty alias for %s"
 msgstr "làm trống bí danh cho %s"
 
-#: git.c:383
+#: git.c:386
 #, c-format
 msgid "recursive alias: %s"
 msgstr "đệ quy các bí danh: %s"
 
-#: git.c:465
+#: git.c:468
 msgid "write failure on standard output"
 msgstr "lỗi ghi nghiêm trong trên đầu ra tiêu chuẩn"
 
-#: git.c:467
+#: git.c:470
 msgid "unknown write failure on standard output"
 msgstr "lỗi nghiêm trọng chưa biết khi ghi ra đầu ra tiêu chuẩn"
 
-#: git.c:469
+#: git.c:472
 msgid "close failed on standard output"
 msgstr "gặp lỗi khi đóng đầu ra tiêu chuẩn"
 
-#: git.c:820
+#: git.c:823
 #, c-format
 msgid "alias loop detected: expansion of '%s' does not terminate:%s"
 msgstr ""
 "dò tìm thấy các bí danh quẩn tròn: biểu thức của “%s” không có điểm kết:%s"
 
-#: git.c:870
+#: git.c:873
 #, c-format
 msgid "cannot handle %s as a builtin"
 msgstr "không thể xử lý %s như là một phần bổ sung"
 
-#: git.c:883
+#: git.c:886
 #, c-format
 msgid ""
 "usage: %s\n"
@@ -23298,12 +23697,12 @@ msgstr ""
 "cách dùng: %s\n"
 "\n"
 
-#: git.c:903
+#: git.c:906
 #, 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:915
+#: git.c:918
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "gặp lỗi khi chạy lệnh “%s”: %s\n"
@@ -23544,11 +23943,11 @@ msgstr ""
 "với --pathspec-from-file, các phần tử đặc tả đường dẫn bị ngăn cách bởi ký "
 "tự NULL"
 
-#: ref-filter.h:96
+#: ref-filter.h:99
 msgid "key"
 msgstr "khóa"
 
-#: ref-filter.h:96
+#: ref-filter.h:99
 msgid "field name to sort on"
 msgstr "tên trường cần sắp xếp"
 
@@ -23556,14 +23955,6 @@ msgstr "tên trường cần sắp xếp"
 msgid "update the index with reused conflict resolution if possible"
 msgstr "cập nhật bảng mục lục với phân giải xung đột dùng lại nếu được"
 
-#: wt-status.h:80
-msgid "HEAD detached at "
-msgstr "HEAD được tách rời tại "
-
-#: wt-status.h:81
-msgid "HEAD detached from "
-msgstr "HEAD được tách rời từ "
-
 #: command-list.h:50
 msgid "Add file contents to the index"
 msgstr "Thêm nội dung tập tin vào bảng mục lục"
@@ -23908,8 +24299,8 @@ msgid "Write and verify multi-pack-indexes"
 msgstr "Ghi và thẩm tra các multi-pack-indexes"
 
 #: command-list.h:132
-msgid "Creates a tag object"
-msgstr "Tạo một đối tượng thẻ"
+msgid "Creates a tag object with extra validation"
+msgstr "Tạo một đối tượng thẻ với kiểm tra mở rộng"
 
 #: command-list.h:133
 msgid "Build a tree-object from ls-tree formatted text"
@@ -24217,69 +24608,55 @@ 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:209
+msgid "Map author/committer names and/or E-Mail addresses"
+msgstr "Ánh xạ tên tác giả/người chuyển giao và/hoặc địa chỉ E-Mail"
+
+#: command-list.h:210
 msgid "Defining submodule properties"
 msgstr "Định nghĩa thuộc tính mô-đun-con"
 
-#: command-list.h:210
+#: command-list.h:211
 msgid "Git namespaces"
 msgstr "Không gian tên Git"
 
-#: command-list.h:211
+#: command-list.h:212
 msgid "Helper programs to interact with remote repositories"
 msgstr "Các chương trình hỗ trợ để tương tác với các kho chứa trên máy chủ"
 
-#: command-list.h:212
+#: command-list.h:213
 msgid "Git Repository Layout"
 msgstr "Bố cục kho Git"
 
-#: command-list.h:213
+#: command-list.h:214
 msgid "Specifying revisions and ranges for Git"
 msgstr "Chỉ định điểm xét duyệt và vùng cho Git"
 
-#: command-list.h:214
+#: command-list.h:215
 msgid "Mounting one repository inside another"
 msgstr "Gắn một kho chứa vào trong một cái khác"
 
-#: command-list.h:215
+#: command-list.h:216
 msgid "A tutorial introduction to Git: part two"
 msgstr "Hướng dẫn cách dùng Git: phần hai"
 
-#: command-list.h:216
+#: command-list.h:217
 msgid "A tutorial introduction to Git"
 msgstr "Hướng dẫn cách dùng Git"
 
-#: command-list.h:217
+#: command-list.h:218
 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"
 
-#: git-bisect.sh:48
-#, sh-format
-msgid "Bad rev input: $arg"
-msgstr "Đầu vào rev sai: $arg"
-
-#: git-bisect.sh:82
-msgid "No logfile given"
-msgstr "Chưa chỉ ra tập tin ghi nhật ký"
-
-#: git-bisect.sh:83
-#, sh-format
-msgid "cannot read $file for replaying"
-msgstr "không thể đọc $file để thao diễn lại"
-
-#: git-bisect.sh:105
-msgid "?? what are you talking about?"
-msgstr "?? bạn đang nói gì thế?"
-
-#: git-bisect.sh:115
+#: git-bisect.sh:68
 msgid "bisect run failed: no command provided."
 msgstr "bisect chạy gặp lỗi: không đưa ra lệnh."
 
-#: git-bisect.sh:120
+#: git-bisect.sh:73
 #, sh-format
 msgid "running $command"
 msgstr "đang chạy lệnh $command"
 
-#: git-bisect.sh:127
+#: git-bisect.sh:80
 #, sh-format
 msgid ""
 "bisect run failed:\n"
@@ -24288,11 +24665,11 @@ msgstr ""
 "chạy bisect gặp lỗi:\n"
 "mã trả về $res từ lệnh “$command” là < 0 hoặc >= 128"
 
-#: git-bisect.sh:152
+#: git-bisect.sh:105
 msgid "bisect run cannot continue any more"
 msgstr "bisect không thể tiếp tục thêm được nữa"
 
-#: git-bisect.sh:158
+#: git-bisect.sh:111
 #, sh-format
 msgid ""
 "bisect run failed:\n"
@@ -24301,14 +24678,10 @@ msgstr ""
 "chạy bisect gặp lỗi:\n"
 "”bisect-state $state” đã thoát ra với mã lỗi $res"
 
-#: git-bisect.sh:165
+#: git-bisect.sh:118
 msgid "bisect run success"
 msgstr "bisect chạy thành công"
 
-#: git-bisect.sh:173
-msgid "We are not bisecting."
-msgstr "Chúng tôi không bisect."
-
 #: git-merge-octopus.sh:46
 msgid ""
 "Error: Your local changes to the following files would be overwritten by "
@@ -25618,6 +25991,102 @@ msgstr "Bỏ qua %s với hậu tố sao lưu dự phòng “%s”.\n"
 msgid "Do you really want to send %s? [y|N]: "
 msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 
+#~ msgid "repository contains replace objects; skipping commit-graph"
+#~ msgstr ""
+#~ "kho lưu trữ chứa các đối tượng thay thế; bỏ qua sơ đồ lần chuyển giao"
+
+#~ msgid "repository contains (deprecated) grafts; skipping commit-graph"
+#~ msgstr ""
+#~ "kho lưu trữ chứa các mối ghép (đã lạc hậu); bỏ qua sơ đồ các lần chuyển "
+#~ "giao"
+
+#~ msgid "repository is shallow; skipping commit-graph"
+#~ msgstr "kho nguồn là nông, nên bỏ qua commit-graph"
+
+#, c-format
+#~ msgid "commit-graph improper chunk offset %08x%08x"
+#~ msgstr "bù mảnh đồ-thị-các-lần-chuyển-giao không đúng chỗ %08x%08x"
+
+#, c-format
+#~ msgid "commit-graph chunk id %08x appears multiple times"
+#~ msgstr "mã mảnh đồ-thị-các-lần-chuyển-giao %08x xuất hiện nhiều lần"
+
+#~ msgid "invalid chunk offset (too large)"
+#~ msgstr "khoảng bù đoạn không hợp lệ (quá lớn)"
+
+#~ msgid "Writing chunks to multi-pack-index"
+#~ msgstr "Đang ghi các khúc vào multi-pack-index"
+
+#~ msgid "rev-list died"
+#~ msgstr "rev-list đã chết"
+
+#~ msgid ""
+#~ "git bisect--helper --bisect-write [--no-log] <state> <revision> "
+#~ "<good_term> <bad_term>"
+#~ msgstr ""
+#~ "git bisect--helper --bisect-write [--no-log] <state> <revision> <lúc_sai> "
+#~ "<lúc_đúng>"
+
+#~ msgid ""
+#~ "git bisect--helper --bisect-check-and-set-terms <command> <good_term> "
+#~ "<bad_term>"
+#~ msgstr ""
+#~ "git bisect--helper --bisect-check-and-set-terms <command> <lúc_sai> "
+#~ "<lúc_đúng>"
+
+#~ msgid "git bisect--helper --bisect-auto-next"
+#~ msgstr "git bisect--helper --bisect-auto-next"
+
+#~ msgid "write out the bisection state in BISECT_LOG"
+#~ msgstr "ghi ra tình trạng di chuyển nửa bước trong BISECT_LOG"
+
+#~ msgid "check and set terms in a bisection state"
+#~ msgstr "kiểm tra và đặt thời điểm trong di chuyển nửa bước"
+
+#~ msgid ""
+#~ "verify the next bisection state then checkout the next bisection commit"
+#~ msgstr ""
+#~ "xác nhận trạng thái phân đôi kế sau đó lấy ra lần chuyển giao phân đôi kế"
+
+#~ msgid "--bisect-write requires either 4 or 5 arguments"
+#~ msgstr "--bisect-write cần 4 hoặc 5 tham số"
+
+#~ msgid "--check-and-set-terms requires 3 arguments"
+#~ msgstr "--check-and-set-terms cần 3 tham số"
+
+#~ msgid "--bisect-auto-next requires 0 arguments"
+#~ msgstr "--bisect-auto-next cần 0 tham số"
+
+#~ msgid "Force progress reporting"
+#~ msgstr "Ép buộc báo cáo diễn biến công việc"
+
+#, 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”"
+
+#, c-format
+#~ msgid "Error deleting branch '%s'"
+#~ msgstr "Gặp lỗi khi xóa bỏ nhánh “%s”"
+
+#~ 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)"
+
+#~ msgid "too many parameters"
+#~ msgstr "quá nhiều đối số"
+
+#~ msgid "too few parameters"
+#~ msgstr "quá ít đối số"
+
+#~ msgid "Recurse into nested submodules"
+#~ msgstr "Đệ quy vào trong các mô-đun-con lồng nhau"
+
+#~ msgid "too many params"
+#~ msgstr "quá nhiều đối số"
+
+#, sh-format
+#~ msgid "Bad rev input: $arg"
+#~ msgstr "Đầu vào rev sai: $arg"
+
 #~ msgid "Counting distinct commits in commit graph"
 #~ msgstr "Đang đếm các lần chuyển giao khác nhau trong đồ thị lần chuyển giao"
 
@@ -25656,9 +26125,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgid "git bisect--helper --write-terms <bad_term> <good_term>"
 #~ msgstr "git bisect--helper --write-terms <bad_term> <good_term>"
 
-#~ msgid "git bisect--helper --bisect-clean-state"
-#~ msgstr "git bisect--helper --bisect-clean-state"
-
 #~ msgid "git bisect--helper --bisect-autostart"
 #~ msgstr "git bisect--helper --bisect-autostart"
 
@@ -26129,12 +26595,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgid "Server supports ofs-delta"
 #~ msgstr "Máy chủ hỗ trợ ofs-delta"
 
-#~ msgid "(HEAD detached at %s)"
-#~ msgstr "(HEAD được tách rời tại %s)"
-
-#~ msgid "(HEAD detached from %s)"
-#~ msgstr "(HEAD được tách rời từ %s)"
-
 #~ msgid "Checking out files"
 #~ msgstr "Đang lấy ra các tập tin"
 
@@ -27341,9 +27801,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgid "--detach cannot be used with -b/-B/--orphan"
 #~ msgstr "--detach không thể được sử dụng với tùy chọn -b/-B/--orphan"
 
-#~ msgid "--detach cannot be used with -t"
-#~ msgstr "--detach không thể được sử dụng với tùy chọn -t"
-
 #~ msgid "--orphan and -b|-B are mutually exclusive"
 #~ msgstr "Tùy chọn --orphan và -b|-B loại từ lẫn nhau"