l10n: vi.po (2228t): Update and minor fix
authorTran Ngoc Quan <vnwildman@gmail.com>
Sun, 20 Apr 2014 08:22:26 +0000 (15:22 +0700)
committerTran Ngoc Quan <vnwildman@gmail.com>
Sun, 20 Apr 2014 08:22:26 +0000 (15:22 +0700)
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
po/vi.po
index b9676a88e46df664566f35383198a833a2d9c84d..f05974f695e9f6d454e19834e3c3cf6247bcba89 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: git v1.9-pu\n"
+"Project-Id-Version: git v2.0.0-rc0\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2014-02-01 08:06+0800\n"
-"PO-Revision-Date: 2014-02-03 07:30+0700\n"
+"POT-Creation-Date: 2014-04-19 12:50+0800\n"
+"PO-Revision-Date: 2014-04-20 15:20+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
 "Language: vi\n"
@@ -22,16 +22,12 @@ msgstr ""
 "X-Poedit-Basepath: ../\n"
 "X-Generator: Poedit 1.5.5\n"
 
-#: advice.c:57
+#: advice.c:55
 #, c-format
 msgid "hint: %.*s\n"
-msgstr "tìm thấy: %.*s\n"
+msgstr "gợi ý: %.*s\n"
 
-#.
-#. * Message used both when 'git commit' fails and when
-#. * other commands doing a merge do.
-#.
-#: advice.c:87
+#: advice.c:85
 msgid ""
 "Fix them up in the work tree,\n"
 "and then use 'git add/rm <file>' as\n"
@@ -62,76 +58,76 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <kho> [--exec <lệnh>] --list"
 
-#: archive.c:242 builtin/add.c:240 builtin/add.c:559 builtin/rm.c:328
+#: archive.c:243 builtin/add.c:136 builtin/add.c:428 builtin/rm.c:328
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "đặc tả đường dẫn “%s” không khớp với bất kỳ tập tin nào"
 
-#: archive.c:327
+#: archive.c:328
 msgid "fmt"
-msgstr "fmt"
+msgstr "định_dạng"
 
-#: archive.c:327
+#: archive.c:328
 msgid "archive format"
 msgstr "định dạng lưu trữ"
 
-#: archive.c:328 builtin/log.c:1193
+#: archive.c:329 builtin/log.c:1193
 msgid "prefix"
-msgstr "tiền tố"
+msgstr "tiền_tố"
 
-#: archive.c:329
+#: archive.c:330
 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:330 builtin/archive.c:88 builtin/blame.c:2265
-#: builtin/blame.c:2266 builtin/config.c:58 builtin/fast-export.c:680
-#: builtin/fast-export.c:682 builtin/grep.c:716 builtin/hash-object.c:77
-#: builtin/ls-files.c:486 builtin/ls-files.c:489 builtin/notes.c:408
-#: builtin/notes.c:565 builtin/read-tree.c:108 parse-options.h:154
+#: archive.c:331 builtin/archive.c:88 builtin/blame.c:2258
+#: builtin/blame.c:2259 builtin/config.c:57 builtin/fast-export.c:680
+#: builtin/fast-export.c:682 builtin/grep.c:714 builtin/hash-object.c:77
+#: builtin/ls-files.c:489 builtin/ls-files.c:492 builtin/notes.c:412
+#: builtin/notes.c:569 builtin/read-tree.c:108 parse-options.h:151
 msgid "file"
 msgstr "tập-tin"
 
-#: archive.c:331 builtin/archive.c:89
+#: archive.c:332 builtin/archive.c:89
 msgid "write the archive to this file"
 msgstr "ghi kho lưu vào tập tin này"
 
-#: archive.c:333
+#: archive.c:334
 msgid "read .gitattributes in working directory"
 msgstr "đọc .gitattributes trong thư mục làm việc"
 
-#: archive.c:334
+#: archive.c:335
 msgid "report archived files on stderr"
 msgstr "liệt kê các tập tin được lưu trữ vào stderr (đầu ra lỗi tiêu chuẩn)"
 
-#: archive.c:335
+#: archive.c:336
 msgid "store only"
 msgstr "chỉ lưu (không nén)"
 
-#: archive.c:336
+#: archive.c:337
 msgid "compress faster"
 msgstr "nén nhanh hơn"
 
-#: archive.c:344
+#: archive.c:345
 msgid "compress better"
 msgstr "nén nhỏ hơn"
 
-#: archive.c:347
+#: archive.c:348
 msgid "list supported archive formats"
 msgstr "liệt kê các kiểu nén được hỗ trợ"
 
-#: archive.c:349 builtin/archive.c:90 builtin/clone.c:84
+#: archive.c:350 builtin/archive.c:90 builtin/clone.c:84
 msgid "repo"
 msgstr "kho"
 
-#: archive.c:350 builtin/archive.c:91
+#: archive.c:351 builtin/archive.c:91
 msgid "retrieve the archive from remote repository <repo>"
-msgstr "nhận kho lưu từ kho chứa <kho> trên máy chủ"
+msgstr "nhận kho nén từ kho chứa <kho> trên máy chủ"
 
-#: archive.c:351 builtin/archive.c:92 builtin/notes.c:487
+#: archive.c:352 builtin/archive.c:92 builtin/notes.c:491
 msgid "command"
 msgstr "lệnh"
 
-#: archive.c:352 builtin/archive.c:93
+#: archive.c:353 builtin/archive.c:93
 msgid "path to the remote git-upload-archive command"
 msgstr "đường dẫn đến lệnh git-upload-pack trên máy chủ"
 
@@ -148,84 +144,79 @@ msgstr ""
 msgid "Not setting branch %s as its own upstream."
 msgstr "Chưa cài đặt nhánh %s như là thượng nguồn của nó."
 
-#: branch.c:82
+#: branch.c:83
 #, c-format
 msgid "Branch %s set up to track remote branch %s from %s by rebasing."
 msgstr "Nhánh %s cài đặt để theo dõi nhánh máy chủ %s từ %s bằng cách rebase."
 
-#: branch.c:83
+#: branch.c:84
 #, c-format
 msgid "Branch %s set up to track remote branch %s from %s."
 msgstr "Nhánh %s cài đặt để theo dõi nhánh máy chủ %s từ %s."
 
-#: branch.c:87
+#: branch.c:88
 #, c-format
 msgid "Branch %s set up to track local branch %s by rebasing."
 msgstr "Nhánh %s cài đặt để theo dõi nhánh nội bộ %s bằng cách rebase."
 
-#: branch.c:88
+#: branch.c:89
 #, c-format
 msgid "Branch %s set up to track local branch %s."
 msgstr "Nhánh %s cài đặt để theo dõi nhánh nội bộ %s."
 
-#: branch.c:92
+#: branch.c:94
 #, c-format
 msgid "Branch %s set up to track remote ref %s by rebasing."
 msgstr "Nhánh %s cài đặt để theo dõi nhánh máy chủ %s bằng cách rebase."
 
-#: branch.c:93
+#: branch.c:95
 #, c-format
 msgid "Branch %s set up to track remote ref %s."
 msgstr "Nhánh %s cài đặt để theo dõi tham chiếu máy chủ %s."
 
-#: branch.c:97
+#: branch.c:99
 #, c-format
 msgid "Branch %s set up to track local ref %s by rebasing."
 msgstr ""
 "Nhánh %s cài đặt để theo dõi vết tham chiếu nội bộ %s bằng cách rebase."
 
-#: branch.c:98
+#: branch.c:100
 #, c-format
 msgid "Branch %s set up to track local ref %s."
 msgstr "Nhánh %s cài đặt để theo dõi tham chiếu nội bộ %s."
 
-#: branch.c:118
-#, c-format
-msgid "Tracking not set up: name too long: %s"
-msgstr "Việc theo dõi chưa được cài đặt: tên quá dài: %s"
-
-#: branch.c:137
+#: branch.c:133
 #, c-format
 msgid "Not tracking: ambiguous information for ref %s"
 msgstr "Không theo dõi: thông tin chưa rõ ràng cho tham chiếu %s"
 
-#: branch.c:182
+#: branch.c:178
 #, c-format
 msgid "'%s' is not a valid branch name."
 msgstr "“%s” không phải là một tên nhánh hợp lệ."
 
-#: branch.c:187
+#: branch.c:183
 #, c-format
 msgid "A branch named '%s' already exists."
 msgstr "Đã có nhánh mang tên “%s”."
 
-#: branch.c:195
+#: branch.c:191
 msgid "Cannot force update the current branch."
 msgstr "Không thể ép buộc cập nhật nhánh hiện hành."
 
-#: branch.c:215
+#: branch.c:211
 #, c-format
 msgid "Cannot setup tracking information; starting point '%s' is not a branch."
 msgstr ""
 "Không thể cài đặt thông tin theo dõi; điểm bắt đầu “%s” không phải là một "
 "nhánh."
 
-#: branch.c:217
+#: branch.c:213
 #, c-format
 msgid "the requested upstream branch '%s' does not exist"
 msgstr "nhánh thượng nguồn đã yêu cầu “%s” không tồn tại"
 
-#: branch.c:219
+#: branch.c:215
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
@@ -245,113 +236,113 @@ msgstr ""
 "sẽ theo dõi bản đối chiếu máy chủ của nó, bạn cần dùng lệnh\n"
 "\"git push -u\" để đặt cấu hình thượng nguồn bạn muốn push."
 
-#: branch.c:264
+#: branch.c:260
 #, c-format
 msgid "Not a valid object name: '%s'."
 msgstr "Không phải tên đối tượng hợp lệ: “%s”."
 
-#: branch.c:284
+#: branch.c:280
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr "Tên đối tượng chưa rõ ràng: “%s”."
 
-#: branch.c:289
+#: branch.c:285
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr "Nhánh không hợp lệ: “%s”."
 
-#: branch.c:295
+#: branch.c:291
 msgid "Failed to lock ref for update"
 msgstr "Gặp lỗi khi khóa tham chiếu (ref) để cập nhật"
 
-#: branch.c:313
+#: branch.c:309
 msgid "Failed to write ref"
 msgstr "Gặp lỗi khi ghi tham chiếu (ref)"
 
-#: bundle.c:37
+#: bundle.c:33
 #, c-format
 msgid "'%s' does not look like a v2 bundle file"
 msgstr "“%s” không giống như tập tin v2 bundle (định dạng dump của git)"
 
-#: bundle.c:64
+#: bundle.c:60
 #, c-format
 msgid "unrecognized header: %s%s (%d)"
 msgstr "phần đầu không được thừa nhận: %s%s (%d)"
 
-#: bundle.c:90 builtin/commit.c:706
+#: bundle.c:86 builtin/commit.c:706
 #, c-format
 msgid "could not open '%s'"
 msgstr "không thể mở “%s”"
 
-#: bundle.c:141
+#: bundle.c:138
 msgid "Repository lacks these prerequisite commits:"
 msgstr "Kho chứa thiếu những lần chuyển giao tiên quyết này:"
 
-#: bundle.c:165 sequencer.c:662 sequencer.c:1112 builtin/log.c:332
+#: bundle.c:162 sequencer.c:669 sequencer.c:1123 builtin/log.c:332
 #: builtin/log.c:821 builtin/log.c:1418 builtin/log.c:1644 builtin/merge.c:357
 #: builtin/shortlog.c:158
 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"
 
-#: bundle.c:187
+#: bundle.c:184
 #, c-format
 msgid "The bundle contains this ref:"
 msgid_plural "The bundle contains these %d refs:"
 msgstr[0] "Bundle chứa tham chiếu (ref) này:"
 msgstr[1] "Bundle chứa %d tham chiếu (ref):"
 
-#: bundle.c:194
+#: bundle.c:191
 msgid "The bundle records a complete history."
 msgstr "Lệnh bundle ghi lại toàn bộ lịch sử."
 
-#: bundle.c:196
+#: bundle.c:193
 #, c-format
 msgid "The bundle requires this ref:"
 msgid_plural "The bundle requires these %d refs:"
 msgstr[0] "Lệnh bundle yêu cầu tham chiếu này:"
 msgstr[1] "Lệnh bundle yêu cầu %d tham chiếu (refs) này:"
 
-#: bundle.c:296
+#: bundle.c:293
 msgid "rev-list died"
 msgstr "rev-list đã chết"
 
-#: bundle.c:302 builtin/log.c:1329 builtin/shortlog.c:261
+#: bundle.c:299 builtin/log.c:1329 builtin/shortlog.c:261
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "đối số không được thừa nhận: %s"
 
-#: bundle.c:337
+#: bundle.c:334
 #, 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:382
+#: bundle.c:379
 msgid "Refusing to create empty bundle."
 msgstr "Từ chối tạo một bundle trống rỗng."
 
-#: bundle.c:398
+#: bundle.c:395
 msgid "Could not spawn pack-objects"
 msgstr "Không thể sản sinh đối tượng gói"
 
-#: bundle.c:416
+#: bundle.c:413
 msgid "pack-objects died"
 msgstr "pack-objects đã chết"
 
-#: bundle.c:419
+#: bundle.c:416
 #, c-format
 msgid "cannot create '%s'"
 msgstr "không thể tạo “%s”"
 
-#: bundle.c:441
+#: bundle.c:438
 msgid "index-pack died"
 msgstr "index-pack đã chết"
 
-#: commit.c:53
+#: commit.c:54
 #, c-format
 msgid "could not parse %s"
 msgstr "không thể phân tích cú pháp %s"
 
-#: commit.c:55
+#: commit.c:56
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr "%s %s không phải là một lần commit!"
@@ -427,6 +418,7 @@ msgid_plural "%lu years"
 msgstr[0] "%lu năm"
 msgstr[1] "%lu năm"
 
+#. TRANSLATORS: "%s" is "<n> years"
 #: date.c:149
 #, c-format
 msgid "%s, %lu month ago"
@@ -446,6 +438,10 @@ msgstr[1] "%lu năm trước"
 msgid "failed to read orderfile '%s'"
 msgstr "gặp lỗi khi đọc tập-tin-thứ-tự “%s”"
 
+#: diffcore-rename.c:517
+msgid "Performing inexact rename detection"
+msgstr "Đang thực hiện dò tìm đổi tên không chính xác"
+
 #: diff.c:113
 #, c-format
 msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
@@ -470,7 +466,7 @@ msgstr ""
 "Tìm thấy các lỗi trong biến cấu hình “diff.dirstat”:\n"
 "%s"
 
-#: diff.c:3509
+#: diff.c:3495
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -479,7 +475,7 @@ msgstr ""
 "Gặp lỗi khi phân tích đối số tùy chọn --dirstat/-X:\n"
 "%s"
 
-#: diff.c:3523
+#: diff.c:3509
 #, 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”"
@@ -506,35 +502,35 @@ msgstr "không thể tạo tập tin tạm thời “%s”: %s"
 msgid "failed writing detached signature to '%s': %s"
 msgstr "gặp lỗi khi ghi chữ ký đính kèm vào “%s”: %s"
 
-#: grep.c:1695
+#: grep.c:1698
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "“%s”: không thể đọc %s"
 
-#: grep.c:1712
+#: grep.c:1715
 #, c-format
 msgid "'%s': %s"
 msgstr "“%s”: %s"
 
-#: grep.c:1723
+#: grep.c:1726
 #, c-format
 msgid "'%s': short read %s"
 msgstr "“%s”: đọc ngắn %s"
 
-#: help.c:210
+#: help.c:209
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "các lệnh git sẵn có trong thư mục “%s”:"
 
-#: help.c:217
+#: help.c:216
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "các lệnh git sẵn có từ một nơi khác trong $PATH của bạn"
 
-#: help.c:233
+#: help.c:232
 msgid "The most commonly used git commands are:"
 msgstr "Những lệnh git hay được dùng nhất là:"
 
-#: help.c:290
+#: help.c:289
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -543,11 +539,11 @@ msgstr ""
 "“%s” trông như là một lệnh git, nhưng chúng tôi không\n"
 "thể thực thi nó. Có lẽ là lệnh git-%s đã bị hỏng?"
 
-#: help.c:347
+#: help.c:346
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Ối chà. Hệ thống của bạn báo rằng chẳng có lệnh Git nào cả."
 
-#: help.c:369
+#: help.c:368
 #, c-format
 msgid ""
 "WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -556,17 +552,17 @@ msgstr ""
 "CẢNH BÁO: Bạn đã gọi lệnh Git có tên “%s”, mà nó lại không có sẵn.\n"
 "Tiếp tục và coi rằng ý bạn là “%s”"
 
-#: help.c:374
+#: help.c:373
 #, c-format
 msgid "in %0.1f seconds automatically..."
 msgstr "trong %0.1f giây một cách tự động..."
 
-#: help.c:381
+#: help.c:380
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git: “%s” không phải là một lệnh của git. Xem “git --help”."
 
-#: help.c:385 help.c:444
+#: help.c:384 help.c:443
 msgid ""
 "\n"
 "Did you mean this?"
@@ -580,7 +576,7 @@ msgstr[1] ""
 "\n"
 "Có phải ý bạn là một trong số những cái này không?"
 
-#: help.c:440
+#: help.c:439
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
@@ -589,7 +585,7 @@ msgstr "%s: %s - %s"
 msgid "failed to read the cache"
 msgstr "gặp lỗi khi đọc bộ nhớ đệm"
 
-#: merge.c:110 builtin/checkout.c:358 builtin/checkout.c:559
+#: merge.c:110 builtin/checkout.c:357 builtin/checkout.c:558
 #: builtin/clone.c:661
 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"
@@ -599,75 +595,73 @@ msgstr "không thể ghi tập tin lưu bảng mục lục mới"
 msgid "(bad commit)\n"
 msgstr "(commit sai)\n"
 
-#: merge-recursive.c:206
+#: merge-recursive.c:208
 #, c-format
 msgid "addinfo_cache failed for path '%s'"
 msgstr "addinfo_cache gặp lỗi đối với đường dẫn “%s”"
 
-#: merge-recursive.c:269
+#: merge-recursive.c:271
 msgid "error building trees"
 msgstr "gặp lỗi khi xây dựng cây"
 
-#: merge-recursive.c:673
+#: merge-recursive.c:675
 #, 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:684
+#: merge-recursive.c:686
 #, 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"
 
-#. something else exists
-#. .. but not some other error (who really cares what?)
-#: merge-recursive.c:698 merge-recursive.c:719
+#: merge-recursive.c:700 merge-recursive.c:721
 msgid ": perhaps a D/F conflict?"
 msgstr ": có lẽ là một xung đột D/F?"
 
-#: merge-recursive.c:709
+#: merge-recursive.c:711
 #, 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:749
+#: merge-recursive.c:751
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "không thể đọc đối tượng %s “%s”"
 
-#: merge-recursive.c:751
+#: merge-recursive.c:753
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "đối tượng blob được mong đợi cho %s “%s”"
 
-#: merge-recursive.c:774 builtin/clone.c:317
+#: merge-recursive.c:776 builtin/clone.c:317
 #, c-format
 msgid "failed to open '%s'"
 msgstr "gặp lỗi khi mở “%s”"
 
-#: merge-recursive.c:782
+#: merge-recursive.c:784
 #, c-format
 msgid "failed to symlink '%s'"
 msgstr "gặp lỗi khi tạo liên kết mềm (symlink) “%s”"
 
-#: merge-recursive.c:785
+#: merge-recursive.c:787
 #, 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:923
+#: merge-recursive.c:925
 msgid "Failed to execute internal merge"
 msgstr "Gặp lỗi khi thực hiện trộn nội bộ"
 
-#: merge-recursive.c:927
+#: merge-recursive.c:929
 #, 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:943
+#: merge-recursive.c:945
 msgid "unsupported object type in the tree"
 msgstr "kiểu đối tượng không được hỗ trợ trong cây (tree)"
 
-#: merge-recursive.c:1022 merge-recursive.c:1036
+#: merge-recursive.c:1024 merge-recursive.c:1038
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -676,7 +670,7 @@ msgstr ""
 "XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s trong %s. Phiên bản %s của %s "
 "còn lại trong cây (tree)."
 
-#: merge-recursive.c:1028 merge-recursive.c:1041
+#: merge-recursive.c:1030 merge-recursive.c:1043
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -685,20 +679,20 @@ 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:1082
+#: merge-recursive.c:1084
 msgid "rename"
 msgstr "đổi tên"
 
-#: merge-recursive.c:1082 wt-status.c:283
+#: merge-recursive.c:1084
 msgid "renamed"
 msgstr "đã đổi tên"
 
-#: merge-recursive.c:1138
+#: merge-recursive.c:1140
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s là một thư mục trong %s thay vào đó thêm vào như là %s"
 
-#: merge-recursive.c:1160
+#: merge-recursive.c:1162
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -707,146 +701,146 @@ msgstr ""
 "XUNG ĐỘT (đổi-tên/đổi-tên): Đổi tên \"%s\"->\"%s\" trong nhánh \"%s\" đổi "
 "tên \"%s\"->\"%s\" trong \"%s\"%s"
 
-#: merge-recursive.c:1165
+#: merge-recursive.c:1167
 msgid " (left unresolved)"
 msgstr " (cần giải quyết)"
 
-#: merge-recursive.c:1219
+#: merge-recursive.c:1221
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "XUNG ĐỘT (đổi-tên/đổi-tên): Đổi tên %s->%s trong %s. Đổi tên %s->%s trong %s"
 
-#: merge-recursive.c:1249
+#: merge-recursive.c:1251
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "Đang đổi tên %s thành %s thay vì %s thành %s"
 
-#: merge-recursive.c:1448
+#: merge-recursive.c:1450
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr ""
 "XUNG ĐỘT (đổi-tên/thêm): Đổi tên %s->%s trong %s. %s được thêm vào trong %s"
 
-#: merge-recursive.c:1458
+#: merge-recursive.c:1460
 #, c-format
 msgid "Adding merged %s"
 msgstr "Thêm hòa trộn %s"
 
-#: merge-recursive.c:1463 merge-recursive.c:1661
+#: merge-recursive.c:1465 merge-recursive.c:1663
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Thay vào đó thêm vào %s"
 
-#: merge-recursive.c:1514
+#: merge-recursive.c:1516
 #, c-format
 msgid "cannot read object %s"
 msgstr "không thể đọc đối tượng %s"
 
-#: merge-recursive.c:1517
+#: merge-recursive.c:1519
 #, c-format
 msgid "object %s is not a blob"
 msgstr "đối tượng %s không phải là một blob"
 
-#: merge-recursive.c:1565
+#: merge-recursive.c:1567
 msgid "modify"
 msgstr "sửa đổi"
 
-#: merge-recursive.c:1565 wt-status.c:281
+#: merge-recursive.c:1567
 msgid "modified"
 msgstr "đã sửa"
 
-#: merge-recursive.c:1575
+#: merge-recursive.c:1577
 msgid "content"
 msgstr "nội dung"
 
-#: merge-recursive.c:1582
+#: merge-recursive.c:1584
 msgid "add/add"
 msgstr "thêm/thêm"
 
-#: merge-recursive.c:1616
+#: merge-recursive.c:1618
 #, 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:1630
+#: merge-recursive.c:1632
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Tự-động-hòa-trộn %s"
 
-#: merge-recursive.c:1634 git-submodule.sh:1148
+#: merge-recursive.c:1636 git-submodule.sh:1149
 msgid "submodule"
 msgstr "mô-đun-con"
 
-#: merge-recursive.c:1635
+#: merge-recursive.c:1637
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "XUNG ĐỘT (%s): Xung đột hòa trộn trong %s"
 
-#: merge-recursive.c:1725
+#: merge-recursive.c:1727
 #, c-format
 msgid "Removing %s"
 msgstr "Đang xóa %s"
 
-#: merge-recursive.c:1750
+#: merge-recursive.c:1752
 msgid "file/directory"
 msgstr "tập-tin/thư-mục"
 
-#: merge-recursive.c:1756
+#: merge-recursive.c:1758
 msgid "directory/file"
 msgstr "thư-mục/tập tin"
 
-#: merge-recursive.c:1761
+#: merge-recursive.c:1763
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
 "XUNG ĐỘT (%s): Ở đây không có thư mục nào có tên %s trong %s. Thêm %s như là "
 "%s"
 
-#: merge-recursive.c:1771
+#: merge-recursive.c:1773
 #, c-format
 msgid "Adding %s"
 msgstr "Thêm \"%s\""
 
-#: merge-recursive.c:1788
+#: merge-recursive.c:1790
 msgid "Fatal merge failure, shouldn't happen."
 msgstr "Việc hòa trộn hỏng nghiêm trọng, không nên để xảy ra."
 
-#: merge-recursive.c:1807
+#: merge-recursive.c:1809
 msgid "Already up-to-date!"
 msgstr "Đã cập nhật rồi!"
 
-#: merge-recursive.c:1816
+#: merge-recursive.c:1818
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "hòa trộn cây (tree) %s và %s gặp lỗi"
 
-#: merge-recursive.c:1846
+#: merge-recursive.c:1848
 #, c-format
 msgid "Unprocessed path??? %s"
 msgstr "Đường dẫn chưa được xử lý??? %s"
 
-#: merge-recursive.c:1891
+#: merge-recursive.c:1893
 msgid "Merging:"
 msgstr "Đang trộn:"
 
-#: merge-recursive.c:1904
+#: merge-recursive.c:1906
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "tìm thấy %u tổ tiên chung:"
 msgstr[1] "tìm thấy %u tổ tiên chung:"
 
-#: merge-recursive.c:1941
+#: merge-recursive.c:1943
 msgid "merge returned no commit"
 msgstr "hòa trộn không trả về lần chuyển giao nào"
 
-#: merge-recursive.c:1998
+#: merge-recursive.c:2000
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Không thể phân tích đối tượng “%s”"
 
-#: merge-recursive.c:2010 builtin/merge.c:665
+#: merge-recursive.c:2012 builtin/merge.c:668
 msgid "Unable to write index."
 msgstr "Không thể ghi bảng mục lục"
 
@@ -873,33 +867,33 @@ 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:202
+#: object.c:229
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "không thể phân tích đối tượng: “%s”"
 
-#: parse-options.c:537
+#: parse-options.c:532
 msgid "..."
 msgstr "..."
 
-#: parse-options.c:555
+#: parse-options.c:550
 #, c-format
 msgid "usage: %s"
 msgstr "cách dùng: %s"
 
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation
-#: parse-options.c:559
+#: parse-options.c:554
 #, c-format
 msgid "   or: %s"
 msgstr "     hoặc: %s"
 
-#: parse-options.c:562
+#: parse-options.c:557
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: parse-options.c:596
+#: parse-options.c:591
 msgid "-NUM"
 msgstr "-SỐ"
 
@@ -950,11 +944,6 @@ msgstr "%s: “%s” ngoài một kho chứa"
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Đặc tả đường dẫn “%s” thì ở trong mô-đun-con “%.*s”"
 
-#.
-#. * We may want to substitute "this command" with a command
-#. * name. E.g. when add--interactive dies when running
-#. * "checkout -p"
-#.
 #: pathspec.c:353
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
@@ -973,57 +962,74 @@ msgstr ""
 "Ở đây không có gì bị loại trừ bởi: các mẫu (loại trừ).\n"
 "Có lẽ bạn đã quên thêm hoặc là “:/” hoặc là “.”?"
 
-#: remote.c:753
+#: progress.c:224
+msgid "done"
+msgstr "xong"
+
+#: read-cache.c:1238
+#, 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"
+
+#: read-cache.c:1248
+#, 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"
+
+#: remote.c:758
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "Không thể lấy về cả %s và %s cho %s"
 
-#: remote.c:757
+#: remote.c:762
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s thường theo dõi %s, không phải %s"
 
-#: remote.c:761
+#: remote.c:766
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s theo dõi cả %s và %s"
 
-#.
-#. * This last possibility doesn't occur because
-#. * FETCH_HEAD_IGNORE entries always appear at
-#. * the end of the list.
-#.
-#: remote.c:769
+#: remote.c:774
 msgid "Internal error"
 msgstr "Lỗi nội bộ"
 
-#: remote.c:1871
+#: remote.c:1948
 #, 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:1875
+#: remote.c:1952
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "   (dùng \" git branch --unset-upstream\" để sửa)\n"
 
-#: remote.c:1878
+#: remote.c:1955
 #, 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:1882
+#: remote.c:1959
 #, 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 là đầu của “%s” bởi %d lần chuyển giao.\n"
 msgstr[1] "Nhánh của bạn là đầu của “%s” bởi %d lần chuyển giao.\n"
 
-#: remote.c:1888
+#: remote.c:1965
 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:1891
+#: remote.c:1968
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -1035,11 +1041,11 @@ msgstr[1] ""
 "Nhánh của bạn ở đằng sau “%s” %d lần chuyển giao, và có thể được fast-"
 "forward.\n"
 
-#: remote.c:1899
+#: remote.c:1976
 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:1902
+#: remote.c:1979
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -1055,7 +1061,7 @@ msgstr[1] ""
 "Your branch and “%s” have diverged,\n"
 "and have %d and %d different commit each, respectively.\n"
 
-#: remote.c:1912
+#: remote.c:1989
 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 "
@@ -1070,14 +1076,14 @@ msgstr "gặp lỗi khi mở “/dev/null”"
 msgid "dup2(%d,%d) failed"
 msgstr "dup2(%d,%d) gặp lỗi"
 
-#: sequencer.c:206 builtin/merge.c:783 builtin/merge.c:896
-#: builtin/merge.c:1006 builtin/merge.c:1016
+#: sequencer.c:206 builtin/merge.c:786 builtin/merge.c:899
+#: builtin/merge.c:1009 builtin/merge.c:1019
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "Không thể mở “%s” để ghi"
 
-#: sequencer.c:208 builtin/merge.c:343 builtin/merge.c:786
-#: builtin/merge.c:1008 builtin/merge.c:1021
+#: sequencer.c:208 builtin/merge.c:343 builtin/merge.c:789
+#: builtin/merge.c:1011 builtin/merge.c:1024
 #, c-format
 msgid "Could not write to '%s'"
 msgstr "Không thể ghi vào “%s”"
@@ -1100,7 +1106,7 @@ msgstr ""
 "với lệnh “git add <đường_dẫn>” hoặc “git rm <đường_dẫn>”\n"
 "và chuyển giao kết quả bằng lệnh “git commit”"
 
-#: sequencer.c:245 sequencer.c:870 sequencer.c:953
+#: sequencer.c:245 sequencer.c:879 sequencer.c:962
 #, c-format
 msgid "Could not write to %s"
 msgstr "Không thể ghi vào %s"
@@ -1136,31 +1142,31 @@ msgstr "Không thể phân giải commit (lần chuyển giao) HEAD\n"
 msgid "Unable to update cache tree\n"
 msgstr "Không thể cập nhật cây bộ nhớ đệm\n"
 
-#: sequencer.c:423
+#: sequencer.c:430
 #, c-format
 msgid "Could not parse commit %s\n"
 msgstr "Không thể phân tích commit (lần chuyển giao) %s\n"
 
-#: sequencer.c:428
+#: sequencer.c:435
 #, c-format
 msgid "Could not parse parent commit %s\n"
 msgstr "Không thể phân tích lần chuyển giao cha mẹ “%s”\n"
 
-#: sequencer.c:494
+#: sequencer.c:501
 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:513
+#: sequencer.c:520
 #, c-format
 msgid "Commit %s is a merge but no -m option was given."
 msgstr "Lần chuyển giao %s là một lần hòa trộn nhưng không đưa ra tùy chọn -m."
 
-#: sequencer.c:521
+#: sequencer.c:528
 #, 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:525
+#: sequencer.c:532
 #, c-format
 msgid "Mainline was specified but commit %s is not a merge."
 msgstr ""
@@ -1169,153 +1175,153 @@ msgstr ""
 
 #. TRANSLATORS: The first %s will be "revert" or
 #. "cherry-pick", the second %s a SHA1
-#: sequencer.c:538
+#: sequencer.c:545
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s: không thể phân tích lần chuyển giao mẹ của %s"
 
-#: sequencer.c:542
+#: sequencer.c:549
 #, 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:628
+#: sequencer.c:635
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "không thể revert %s... %s"
 
-#: sequencer.c:629
+#: sequencer.c:636
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "không thể apply (áp dụng miếng vá) %s... %s"
 
-#: sequencer.c:665
+#: sequencer.c:672
 msgid "empty commit set passed"
 msgstr "lần chuyển giao trống rỗng đặt là hợp quy cách"
 
-#: sequencer.c:673
+#: sequencer.c:680
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s: gặp lỗi đọc bảng mục lục"
 
-#: sequencer.c:678
+#: sequencer.c:685
 #, 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:736
+#: sequencer.c:743
 #, c-format
 msgid "Cannot %s during a %s"
 msgstr "Không thể %s trong khi %s"
 
-#: sequencer.c:758
+#: sequencer.c:765
 #, c-format
 msgid "Could not parse line %d."
 msgstr "Không phân tích được dòng %d."
 
-#: sequencer.c:763
+#: sequencer.c:770
 msgid "No commits parsed."
 msgstr "Không có lần chuyển giao nào được phân tích."
 
-#: sequencer.c:776
+#: sequencer.c:783
 #, c-format
 msgid "Could not open %s"
 msgstr "Không thể mở %s"
 
-#: sequencer.c:780
+#: sequencer.c:787
 #, c-format
 msgid "Could not read %s."
 msgstr "Không thể đọc %s."
 
-#: sequencer.c:787
+#: sequencer.c:794
 #, c-format
 msgid "Unusable instruction sheet: %s"
 msgstr "Bảng chỉ thị không thể dùng được: %s"
 
-#: sequencer.c:815
+#: sequencer.c:824
 #, c-format
 msgid "Invalid key: %s"
 msgstr "Khóa không đúng: %s"
 
-#: sequencer.c:818
+#: sequencer.c:827
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "Giá trị không hợp lệ %s: %s"
 
-#: sequencer.c:830
+#: sequencer.c:839
 #, c-format
 msgid "Malformed options sheet: %s"
 msgstr "Bảng tùy chọn dị hình: %s"
 
-#: sequencer.c:851
+#: sequencer.c:860
 msgid "a cherry-pick or revert is already in progress"
 msgstr "có một thao tác “cherry-pick” hoặc “revert” đang được thực hiện"
 
-#: sequencer.c:852
+#: sequencer.c:861
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "hãy thử \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:856
+#: sequencer.c:865
 #, c-format
 msgid "Could not create sequencer directory %s"
 msgstr "Không thể tạo thư mục xếp dãy %s"
 
-#: sequencer.c:872 sequencer.c:957
+#: sequencer.c:881 sequencer.c:966
 #, c-format
 msgid "Error wrapping up %s."
 msgstr "Lỗi bao bọc %s."
 
-#: sequencer.c:891 sequencer.c:1025
+#: sequencer.c:900 sequencer.c:1036
 msgid "no cherry-pick or revert in progress"
 msgstr "không cherry-pick hay revert trong tiến trình"
 
-#: sequencer.c:893
+#: sequencer.c:902
 msgid "cannot resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: sequencer.c:895
+#: sequencer.c:904
 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:917 builtin/apply.c:4061
+#: sequencer.c:926 builtin/apply.c:4061
 #, c-format
 msgid "cannot open %s: %s"
 msgstr "không thể mở %s: %s"
 
-#: sequencer.c:920
+#: sequencer.c:929
 #, c-format
 msgid "cannot read %s: %s"
 msgstr "không thể đọc %s: %s"
 
-#: sequencer.c:921
+#: sequencer.c:930
 msgid "unexpected end of file"
 msgstr "gặp kết thúc tập tin đột xuất"
 
-#: sequencer.c:927
+#: sequencer.c:936
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "tập tin HEAD “pre-cherry-pick” đã lưu “%s” bị hỏng"
 
-#: sequencer.c:950
+#: sequencer.c:959
 #, c-format
 msgid "Could not format %s."
 msgstr "Không thể định dạng “%s”."
 
-#: sequencer.c:1093
+#: sequencer.c:1104
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: không thể cherry-pick một %s"
 
-#: sequencer.c:1096
+#: sequencer.c:1107
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: điểm xét duyệt sai"
 
-#: sequencer.c:1130
+#: sequencer.c:1141
 msgid "Can't revert as initial commit"
 msgstr "Không thể revert một lần chuyển giao khởi tạo"
 
-#: sequencer.c:1131
+#: sequencer.c:1142
 msgid "Can't cherry-pick into empty head"
 msgstr "Không thể cherry-pick vào một đầu (head) trống rỗng"
 
@@ -1343,21 +1349,21 @@ msgstr ""
 "này\n"
 "bằng cách chạy lệnh \"git config advice.objectNameWarning false\""
 
-#: sha1_name.c:1070
+#: sha1_name.c:1072
 msgid "HEAD does not point to a branch"
 msgstr "HEAD không chỉ đến một nhánh nào cả"
 
-#: sha1_name.c:1073
+#: sha1_name.c:1075
 #, c-format
 msgid "No such branch: '%s'"
 msgstr "Không có nhánh nào như thế: “%s”"
 
-#: sha1_name.c:1075
+#: sha1_name.c:1077
 #, 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”"
 
-#: sha1_name.c:1079
+#: sha1_name.c:1081
 #, c-format
 msgid "Upstream branch '%s' not stored as a remote-tracking branch"
 msgstr ""
@@ -1374,52 +1380,34 @@ msgstr ""
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "Không thể tìm thấy phần trong .gitmodules nơi mà đường_dẫn=%s"
 
-#. Maybe the user already did that, don't error out here
 #: submodule.c:76
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "Không thể cập nhật mục .gitmodules %s"
 
-#. Maybe the user already did that, don't error out here
 #: submodule.c:109
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "Không thể gỡ bỏ mục .gitmodules dành cho %s"
 
-#: submodule.c:127
-msgid "could not find .gitmodules in index"
-msgstr "không tìm thấy .gitmodules trong bảng mục lục"
-
-#: submodule.c:133
-msgid "reading updated .gitmodules failed"
-msgstr "gặp lỗi khi đọc cập nhật .gitmodules"
-
-#: submodule.c:135
-msgid "unable to stat updated .gitmodules"
-msgstr "không thể lấy thống kê .gitmodules đã cập nhật"
-
-#: submodule.c:139
-msgid "unable to remove .gitmodules from index"
-msgstr "không thể gỡ bỏ .gitmodules từ mục lục"
-
-#: submodule.c:141
-msgid "adding updated .gitmodules failed"
-msgstr "gặp lỗi khi thêm .gitmodules đã cập nhật"
-
-#: submodule.c:143
+#: submodule.c:120
 msgid "staging updated .gitmodules failed"
 msgstr "gặp lỗi khi tổ chức .gitmodules đã cập nhật"
 
-#: submodule.c:1144 builtin/init-db.c:363
+#: submodule.c:1121 builtin/init-db.c:363
 #, c-format
 msgid "Could not create git link %s"
 msgstr "Không thể tạo liên kết git “%s”"
 
-#: submodule.c:1155
+#: submodule.c:1132
 #, c-format
 msgid "Could not set core.worktree in %s"
 msgstr "Không thể đặt “core.worktree” trong “%s”."
 
+#: unpack-trees.c:206
+msgid "Checking out files"
+msgstr "Đang lấy ra các tập tin"
+
 #: urlmatch.c:120
 msgid "invalid URL scheme name or missing '://' suffix"
 msgstr "tên lược đồ URL không hợp lệ, hoặc thiếu hậu tố “://”"
@@ -1531,88 +1519,97 @@ msgid "  (use \"git %s <file>...\" to include in what will be committed)"
 msgstr ""
 "  (dùng \"git %s <tập-tin>...\" để thêm vào những gì cần được chuyển giao)"
 
-#: wt-status.c:254
-msgid "bug"
-msgstr "lỗi"
-
-#: wt-status.c:259
+#: wt-status.c:252
 msgid "both deleted:"
 msgstr "bị xóa bởi cả hai:"
 
-#: wt-status.c:260
+#: wt-status.c:254
 msgid "added by us:"
 msgstr "được thêm vào bởi chúng ta:"
 
-#: wt-status.c:261
+#: wt-status.c:256
 msgid "deleted by them:"
 msgstr "bị xóa đi bởi họ:"
 
-#: wt-status.c:262
+#: wt-status.c:258
 msgid "added by them:"
 msgstr "được thêm vào bởi họ:"
 
-#: wt-status.c:263
+#: wt-status.c:260
 msgid "deleted by us:"
 msgstr "bị xóa bởi chúng ta:"
 
-#: wt-status.c:264
+#: wt-status.c:262
 msgid "both added:"
 msgstr "được thêm vào bởi cả hai:"
 
-#: wt-status.c:265
+#: wt-status.c:264
 msgid "both modified:"
 msgstr "bị sửa bởi cả hai:"
 
-#: wt-status.c:275
-msgid "new file"
-msgstr "tập tin mới"
+#: wt-status.c:266
+#, c-format
+msgid "bug: unhandled unmerged status %x"
+msgstr "lỗi: không thể tiếp nhận trạng thái chưa hòa trộn %x"
+
+#: wt-status.c:274
+msgid "new file:"
+msgstr "tập tin mới:"
+
+#: wt-status.c:276
+msgid "copied:"
+msgstr "đã chép:"
 
-#: wt-status.c:277
-msgid "copied"
-msgstr "đã chép"
+#: wt-status.c:278
+msgid "deleted:"
+msgstr "đã xoá:"
 
-#: wt-status.c:279
-msgid "deleted"
-msgstr "bị xoá"
+#: wt-status.c:280
+msgid "modified:"
+msgstr "đã sửa:"
 
-#: wt-status.c:285
-msgid "typechange"
-msgstr "đổi-kiểu"
+#: wt-status.c:282
+msgid "renamed:"
+msgstr "đã đổi tên:"
 
-#: wt-status.c:287
-msgid "unknown"
-msgstr "không hiểu"
+#: wt-status.c:284
+msgid "typechange:"
+msgstr "đổi-kiểu:"
 
-#: wt-status.c:289
-msgid "unmerged"
-msgstr "chưa hòa trộn"
+#: wt-status.c:286
+msgid "unknown:"
+msgstr "không hiểu:"
 
-#: wt-status.c:336
+#: wt-status.c:288
+msgid "unmerged:"
+msgstr "chưa hòa trộn:"
+
+#: wt-status.c:370
 msgid "new commits, "
 msgstr "lần chuyển giao mới, "
 
-#: wt-status.c:338
+#: wt-status.c:372
 msgid "modified content, "
 msgstr "nội dung bị sửa đổi, "
 
-#: wt-status.c:340
+#: wt-status.c:374
 msgid "untracked content, "
 msgstr "nội dung chưa được theo dõi, "
 
-#: wt-status.c:357
+#: wt-status.c:391
 #, c-format
 msgid "bug: unhandled diff status %c"
 msgstr "lỗi: không thể tiếp nhận trạng thái lệnh diff %c"
 
-#: wt-status.c:732
+#: wt-status.c:765
 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:734
+#: wt-status.c:767
 msgid "Submodule changes to be committed:"
 msgstr "Những mô-đun-con thay đổi đã được chuyển giao:"
 
-#: wt-status.c:836
+#: wt-status.c:846
 msgid ""
 "Do not touch the line above.\n"
 "Everything below will be removed."
@@ -1620,72 +1617,72 @@ msgstr ""
 "Không động đến đường ở trên.\n"
 "Mọi thứ phía dưới sẽ được xóa bỏ."
 
-#: wt-status.c:899
+#: wt-status.c:937
 msgid "You have unmerged paths."
 msgstr "Bạn có những đường dẫn chưa được hòa trộn."
 
-#: wt-status.c:902
+#: wt-status.c:940
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (sửa các xung đột rồi chạy \"git commit\")"
 
-#: wt-status.c:905
+#: wt-status.c:943
 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:908
+#: wt-status.c:946
 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:918
+#: wt-status.c:956
 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:921
+#: wt-status.c:959
 msgid "The current patch is empty."
 msgstr "Miếng vá hiện tại bị trống rỗng."
 
-#: wt-status.c:925
+#: wt-status.c:963
 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:927
+#: wt-status.c:965
 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:929
+#: wt-status.c:967
 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:989 wt-status.c:1006
+#: wt-status.c:1027 wt-status.c:1044
 #, 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:994 wt-status.c:1011
+#: wt-status.c:1032 wt-status.c:1049
 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:997
+#: wt-status.c:1035
 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:999
+#: wt-status.c:1037
 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:1001
+#: wt-status.c:1039
 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:1014
+#: wt-status.c:1052
 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:1018
+#: wt-status.c:1056
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -1693,126 +1690,126 @@ 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:1023
+#: wt-status.c:1061
 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:1026
+#: wt-status.c:1064
 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:1030
+#: wt-status.c:1068
 #, 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:1035
+#: wt-status.c:1073
 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:1038
+#: wt-status.c:1076
 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:1040
+#: wt-status.c:1078
 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:1050
+#: wt-status.c:1088
 #, 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:1055
+#: wt-status.c:1093
 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:1058
+#: wt-status.c:1096
 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:1060
+#: wt-status.c:1098
 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:1069
+#: wt-status.c:1107
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Bạn hiện nay đang thực hiện thao tác revert lần chuyển giao “%s”."
 
-#: wt-status.c:1074
+#: wt-status.c:1112
 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:1077
+#: wt-status.c:1115
 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:1079
+#: wt-status.c:1117
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (dùng \"git revert --abort\" để hủy bỏ thao tác revert)"
 
-#: wt-status.c:1090
+#: wt-status.c:1128
 #, 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:1094
+#: wt-status.c:1132
 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:1097
+#: wt-status.c:1135
 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:1272
+#: wt-status.c:1310
 msgid "On branch "
 msgstr "Trên nhánh "
 
-#: wt-status.c:1279
+#: wt-status.c:1317
 msgid "rebase in progress; onto "
 msgstr "rebase đang được thực hiện: lên trên "
 
-#: wt-status.c:1286
+#: wt-status.c:1324
 msgid "HEAD detached at "
 msgstr "HEAD được tách rời tại "
 
-#: wt-status.c:1288
+#: wt-status.c:1326
 msgid "HEAD detached from "
 msgstr "HEAD được tách rời từ "
 
-#: wt-status.c:1291
+#: wt-status.c:1329
 msgid "Not currently on any branch."
 msgstr "Hiện tại chẳng ở nhánh nào cả."
 
-#: wt-status.c:1308
+#: wt-status.c:1346
 msgid "Initial commit"
 msgstr "Lần chuyển giao khởi tạo"
 
-#: wt-status.c:1322
+#: wt-status.c:1360
 msgid "Untracked files"
 msgstr "Những tập tin chưa được theo dõi"
 
-#: wt-status.c:1324
+#: wt-status.c:1362
 msgid "Ignored files"
 msgstr "Những tập tin bị lờ đi"
 
-#: wt-status.c:1328
+#: wt-status.c:1366
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -1824,32 +1821,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:1334
+#: wt-status.c:1372
 #, 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:1336
+#: wt-status.c:1374
 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:1342
+#: wt-status.c:1380
 msgid "No changes"
 msgstr "Không có thay đổi nào"
 
-#: wt-status.c:1347
+#: wt-status.c:1385
 #, 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:1350
+#: wt-status.c:1388
 #, 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:1353
+#: wt-status.c:1391
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -1858,293 +1855,210 @@ 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:1356
+#: wt-status.c:1394
 #, 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:1359
+#: wt-status.c:1397
 #, 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:1362 wt-status.c:1367
+#: wt-status.c:1400 wt-status.c:1405
 #, c-format
 msgid "nothing to commit\n"
 msgstr "không có gì để chuyển giao\n"
 
-#: wt-status.c:1365
+#: wt-status.c:1403
 #, 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:1369
+#: wt-status.c:1407
 #, c-format
 msgid "nothing to commit, working directory clean\n"
 msgstr "không có gì để chuyển giao, thư mục làm việc sạch sẽ\n"
 
-#: wt-status.c:1478
+#: wt-status.c:1516
 msgid "HEAD (no branch)"
 msgstr "HEAD (không nhánh)"
 
-#: wt-status.c:1484
+#: wt-status.c:1522
 msgid "Initial commit on "
 msgstr "Lần chuyển giao khởi tạo trên "
 
-#: wt-status.c:1514
+#: wt-status.c:1554
 msgid "gone"
 msgstr "đã ra đi"
 
-#: wt-status.c:1516
+#: wt-status.c:1556 wt-status.c:1564
 msgid "behind "
 msgstr "đằng sau "
 
-#: wt-status.c:1519 wt-status.c:1522
-msgid "ahead "
-msgstr "phía trước "
-
-#: wt-status.c:1524
-msgid ", behind "
-msgstr ", đằng sau "
-
 #: compat/precompose_utf8.c:55 builtin/clone.c:356
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "gặp lỗi khi bỏ liên kết (unlink) “%s”"
 
-#: builtin/add.c:20
+#: builtin/add.c:21
 msgid "git add [options] [--] <pathspec>..."
 msgstr "git add [các-tùy-chọn] [--]  <pathspec>..."
 
-#.
-#. * To be consistent with "git add -p" and most Git
-#. * commands, we should default to being tree-wide, but
-#. * this is not the original behavior and can't be
-#. * changed until users trained themselves not to type
-#. * "git add -u" or "git add -A". For now, we warn and
-#. * keep the old behavior. Later, the behavior can be changed
-#. * to tree-wide, keeping the warning for a while, and
-#. * eventually we can drop the warning.
-#.
-#: builtin/add.c:58
-#, c-format
-msgid ""
-"The behavior of 'git add %s (or %s)' with no path argument from a\n"
-"subdirectory of the tree will change in Git 2.0 and should not be used "
-"anymore.\n"
-"To add content for the whole tree, run:\n"
-"\n"
-"  git add %s :/\n"
-"  (or git add %s :/)\n"
-"\n"
-"To restrict the command to the current directory, run:\n"
-"\n"
-"  git add %s .\n"
-"  (or git add %s .)\n"
-"\n"
-"With the current Git version, the command is restricted to the current "
-"directory.\n"
-msgstr ""
-"Cách ứng xử của lệnh “git add %s (hay %s)” khi không có tham số đường dẫn "
-"từ\n"
-"thư-mục con của cây sẽ thay đổi kể từ Git 2.0 và không thể sử dụng như thế "
-"nữa.\n"
-"Để thêm nội dung cho toàn bộ cây, chạy:\n"
-"\n"
-"  git add %s :/\n"
-"  (hoặc git add %s :/)\n"
-"\n"
-"Để hạn chế lệnh cho thư-mục hiện tại, chạy:\n"
-"\n"
-"  git add %s .\n"
-"  (hoặc git add %s .)\n"
-"\n"
-"Với phiên bản hiện tại của Git, lệnh bị hạn chế cho thư-mục hiện tại.\n"
-
-#: builtin/add.c:100
-#, c-format
-msgid ""
-"You ran 'git add' with neither '-A (--all)' or '--ignore-removal',\n"
-"whose behaviour will change in Git 2.0 with respect to paths you removed.\n"
-"Paths like '%s' that are\n"
-"removed from your working tree are ignored with this version of Git.\n"
-"\n"
-"* 'git add --ignore-removal <pathspec>', which is the current default,\n"
-"  ignores paths you removed from your working tree.\n"
-"\n"
-"* 'git add --all <pathspec>' will let you also record the removals.\n"
-"\n"
-"Run 'git status' to check the paths you removed from your working tree.\n"
-msgstr ""
-"Bạn chạy “git add” mà không có “-A (--all)” cũng không “--ignore-removal”,\n"
-"cách ứng xử của nó sẽ thay đổi kể từ Git 2.0: nó quan tâm đến các đường dẫn "
-"mà\n"
-"bạn đã gỡ bỏ. Các đường dẫn như là “%s” cái mà\n"
-"bị gỡ bỏ từ cây làm việc của bạn thì bị bỏ qua với phiên bản này của Git.\n"
-"\n"
-"* “git add --ignore-removal <pathspec>”, cái hiện tại là mặc định,\n"
-"  bỏ qua các đường dẫn bạn đã gỡ bỏ từ cây làm việc của bạn.\n"
-"\n"
-"* “git add --all <pathspec>” sẽ đồng thời giúp bạn ghi lại việc dời đi.\n"
-"\n"
-"Chạy “git status” để kiểm tra các đường dẫn bạn đã gỡ bỏ từ cây làm việc của "
-"bạn.\n"
-
-#: builtin/add.c:144
+#: builtin/add.c:64
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "trạng thái lệnh diff không như mong đợi %c"
 
-#: builtin/add.c:149 builtin/commit.c:260
+#: builtin/add.c:69 builtin/commit.c:261
 msgid "updating files failed"
 msgstr "Cập nhật tập tin gặp lỗi"
 
-#: builtin/add.c:163
+#: builtin/add.c:79
 #, c-format
 msgid "remove '%s'\n"
 msgstr "gỡ bỏ “%s”\n"
 
-#: builtin/add.c:237
+#: builtin/add.c:133
 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:299
+#: builtin/add.c:193
 msgid "Could not read the index"
 msgstr "Không thể đọc bảng mục lục"
 
-#: builtin/add.c:310
+#: builtin/add.c:204
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr "Không thể mở “%s” để ghi."
 
-#: builtin/add.c:314
+#: builtin/add.c:208
 msgid "Could not write patch"
 msgstr "Không thể ghi ra miếng vá"
 
-#: builtin/add.c:319
+#: builtin/add.c:213
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "không thể lấy thông tin thống kê về “%s”"
 
-#: builtin/add.c:321
+#: builtin/add.c:215
 msgid "Empty patch. Aborted."
 msgstr "Miếng vá trống rỗng. Nên bỏ qua."
 
-#: builtin/add.c:327
+#: builtin/add.c:221
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "Không thể áp dụng miếng vá “%s”"
 
-#: builtin/add.c:337
+#: builtin/add.c:231
 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:354 builtin/clean.c:875 builtin/fetch.c:93 builtin/mv.c:70
-#: builtin/prune-packed.c:77 builtin/push.c:506 builtin/remote.c:1344
+#: builtin/add.c:248 builtin/clean.c:876 builtin/fetch.c:93 builtin/mv.c:70
+#: builtin/prune-packed.c:77 builtin/push.c:489 builtin/remote.c:1344
 #: builtin/rm.c:269
 msgid "dry run"
 msgstr "chạy thử"
 
-#: builtin/add.c:355 builtin/apply.c:4410 builtin/check-ignore.c:19
-#: builtin/commit.c:1249 builtin/count-objects.c:95 builtin/fsck.c:612
+#: builtin/add.c:249 builtin/apply.c:4410 builtin/check-ignore.c:19
+#: builtin/commit.c:1256 builtin/count-objects.c:95 builtin/fsck.c:612
 #: builtin/log.c:1592 builtin/mv.c:69 builtin/read-tree.c:113
 msgid "be verbose"
 msgstr "chi tiết"
 
-#: builtin/add.c:357
+#: builtin/add.c:251
 msgid "interactive picking"
 msgstr "sửa bằng cách tương tác"
 
-#: builtin/add.c:358 builtin/checkout.c:1109 builtin/reset.c:272
+#: builtin/add.c:252 builtin/checkout.c:1108 builtin/reset.c:283
 msgid "select hunks interactively"
 msgstr "chọn “hunks” theo kiểu tương tác"
 
-#: builtin/add.c:359
+#: builtin/add.c:253
 msgid "edit current diff and apply"
 msgstr "sửa diff hiện nay và áp dụng nó"
 
-#: builtin/add.c:360
+#: builtin/add.c:254
 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:361
+#: builtin/add.c:255
 msgid "update tracked files"
 msgstr "cập nhật các tập tin được theo dõi"
 
-#: builtin/add.c:362
+#: builtin/add.c:256
 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:363
+#: builtin/add.c:257
 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"
 
-#. takes no arguments
-#: builtin/add.c:366
+#: builtin/add.c:260
 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:368
+#: builtin/add.c:262
 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:369
+#: builtin/add.c:263
 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:370
+#: builtin/add.c:264
 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:392
+#: builtin/add.c:286
 #, c-format
 msgid "Use -f if you really want to add them.\n"
 msgstr "Sử dụng tùy chọn -f nếu bạn thực sự muốn thêm chúng vào.\n"
 
-#: builtin/add.c:393
+#: builtin/add.c:287
 msgid "no files added"
 msgstr "chưa có tập tin nào được thêm vào"
 
-#: builtin/add.c:399
+#: builtin/add.c:293
 msgid "adding files failed"
 msgstr "thêm tập tin gặp lỗi"
 
-#: builtin/add.c:438
+#: builtin/add.c:330
 msgid "-A and -u are mutually incompatible"
 msgstr "-A và -u xung khắc nhau"
 
-#: builtin/add.c:456
+#: builtin/add.c:337
 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:486
+#: builtin/add.c:358
 #, 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:487
+#: builtin/add.c:359
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "Có lẽ ý bạn là “git add .” phải không?\n"
 
-#: builtin/add.c:492 builtin/check-ignore.c:172 builtin/clean.c:919
-#: builtin/commit.c:320 builtin/mv.c:90 builtin/reset.c:224 builtin/rm.c:299
+#: builtin/add.c:364 builtin/check-ignore.c:172 builtin/clean.c:920
+#: builtin/commit.c:320 builtin/mv.c:90 builtin/reset.c:234 builtin/rm.c:299
 msgid "index file corrupt"
 msgstr "tập tin ghi bảng mục lục bị hỏng"
 
-#: builtin/add.c:592 builtin/apply.c:4506 builtin/mv.c:270 builtin/rm.c:432
+#: builtin/add.c:448 builtin/apply.c:4506 builtin/mv.c:280 builtin/rm.c:432
 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"
 
@@ -2258,7 +2172,6 @@ msgstr "** cảnh báo: tập tin %s trở nên trống rỗng nhưng không b
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "miếng vá định dạng nhị phân sai hỏng tại dòng %d: %.*s"
 
-#. there has to be one hunk (forward hunk)
 #: builtin/apply.c:1900
 #, c-format
 msgid "unrecognized binary patch at line %d"
@@ -2330,7 +2243,7 @@ msgstr "gặp lỗi khi vá: %s:%ld"
 #: builtin/apply.c:3095
 #, c-format
 msgid "cannot checkout %s"
-msgstr "không thể \"checkout\" %s"
+msgstr "không thể lấy ra %s"
 
 #: builtin/apply.c:3140 builtin/apply.c:3149 builtin/apply.c:3194
 #, c-format
@@ -2401,7 +2314,7 @@ msgstr "%s: miếng vá không được áp dụng"
 msgid "Checking patch %s..."
 msgstr "Đang kiểm tra miếng vá %s..."
 
-#: builtin/apply.c:3680 builtin/checkout.c:213 builtin/reset.c:127
+#: builtin/apply.c:3680 builtin/checkout.c:213 builtin/reset.c:134
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "make_cache_entry gặp lỗi đối với đường dẫn “%s”"
@@ -2419,7 +2332,7 @@ msgstr "miếng vá sai hỏng cho mô-đun-con %s"
 #: builtin/apply.c:3855
 #, c-format
 msgid "unable to stat newly created file '%s'"
-msgstr "không thể lấy trạng thái về tập tin %s mới hơn đã được tạo"
+msgstr "không thể lấy thống kề về tập tin %s mới hơn đã được tạo"
 
 #: builtin/apply.c:3860
 #, c-format
@@ -2444,13 +2357,12 @@ msgstr "không thể ghi vào tập tin “%s” chế độ %o"
 #: builtin/apply.c:4032
 #, c-format
 msgid "Applied patch %s cleanly."
-msgstr "Ä\90ã Ã¡p dụng miếng và %s một cách sạch sẽ."
+msgstr "Ä\90ã Ã¡p dụng miếng vá %s một cách sạch sẽ."
 
 #: builtin/apply.c:4040
 msgid "internal error"
 msgstr "lỗi nội bộ"
 
-#. Say this even without --verbose
 #: builtin/apply.c:4043
 #, c-format
 msgid "Applying patch %%s with %d reject..."
@@ -2471,7 +2383,7 @@ msgstr "Khối nhớ #%d được áp dụng gọn gàng."
 #: builtin/apply.c:4077
 #, c-format
 msgid "Rejected hunk #%d."
-msgstr "hunk #%d bị từ chối."
+msgstr "đoạn dữ liệu #%d bị từ chối."
 
 #: builtin/apply.c:4227
 msgid "unrecognized input"
@@ -2546,7 +2458,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"
 
-#: builtin/apply.c:4389 builtin/checkout-index.c:197 builtin/ls-files.c:452
+#: builtin/apply.c:4389 builtin/checkout-index.c:197 builtin/ls-files.c:455
 msgid "paths are separated with NUL character"
 msgstr "các đường dẫn bị ngăn cách bởi ký tự NULL"
 
@@ -2686,97 +2598,97 @@ msgstr "git blame [các-tùy-chọn] [rev-opts] [rev] [--] tập-tin"
 msgid "[rev-opts] are documented in git-rev-list(1)"
 msgstr "[rev-opts] được mô tả trong git-rev-list(1)"
 
-#: builtin/blame.c:2249
+#: builtin/blame.c:2242
 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:2250
+#: builtin/blame.c:2243
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr ""
 "Hiển thị SHA-1 trắng cho những lần chuyển giao biên giới (Mặc định: off)"
 
-#: builtin/blame.c:2251
+#: builtin/blame.c:2244
 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:2252
+#: builtin/blame.c:2245
 msgid "Show work cost statistics"
 msgstr "Hiển thị thống kê công sức làm việc"
 
-#: builtin/blame.c:2253
+#: builtin/blame.c:2246
 msgid "Show output score for blame entries"
 msgstr "Hiển thị kết xuất điểm số có các mục tin “blame”"
 
-#: builtin/blame.c:2254
+#: builtin/blame.c:2247
 msgid "Show original filename (Default: auto)"
 msgstr "Hiển thị tên tập tin gốc (Mặc định: auto)"
 
-#: builtin/blame.c:2255
+#: builtin/blame.c:2248
 msgid "Show original linenumber (Default: off)"
 msgstr "Hiển thị số dòng gốc (Mặc định: off)"
 
-#: builtin/blame.c:2256
+#: builtin/blame.c:2249
 msgid "Show in a format designed for machine consumption"
 msgstr "Hiển thị ở định dạng đã thiết kế cho sự tiêu dùng bằng máy"
 
-#: builtin/blame.c:2257
+#: builtin/blame.c:2250
 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:2258
+#: builtin/blame.c:2251
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "Dùng cùng chế độ xuất ra vóigit-annotate (Mặc định: off)"
 
-#: builtin/blame.c:2259
+#: builtin/blame.c:2252
 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:2260
+#: builtin/blame.c:2253
 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:2261
+#: builtin/blame.c:2254
 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:2262
+#: builtin/blame.c:2255
 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:2263
+#: builtin/blame.c:2256
 msgid "Ignore whitespace differences"
 msgstr "Bỏ qua các khác biệt do khoảng trắng gây ra"
 
-#: builtin/blame.c:2264
+#: builtin/blame.c:2257
 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:2265
+#: builtin/blame.c:2258
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr ""
 "Sử dụng điểm xét duyệt (revision) từ <tập tin> thay vì gọi “git-rev-list”"
 
-#: builtin/blame.c:2266
+#: builtin/blame.c:2259
 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:2267 builtin/blame.c:2268
+#: builtin/blame.c:2260 builtin/blame.c:2261
 msgid "score"
 msgstr "điểm số"
 
-#: builtin/blame.c:2267
+#: builtin/blame.c:2260
 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:2268
+#: builtin/blame.c:2261
 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:2269
+#: builtin/blame.c:2262
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2269
+#: builtin/blame.c:2262
 msgid "Process only line range n,m, counting from 1"
 msgstr "Xử lý chỉ dòng vùng n,m, tính từ 1"
 
@@ -2927,12 +2839,12 @@ msgstr " **** tham chiếu không hợp lệ ****"
 #: builtin/branch.c:594
 #, c-format
 msgid "(no branch, rebasing %s)"
-msgstr "(không nhánh, đang rebase %s)"
+msgstr "(không nhánh, đang cải tổ %s)"
 
 #: builtin/branch.c:597
 #, c-format
 msgid "(no branch, bisect started on %s)"
-msgstr "(không nhánh, bisect được bắt đầu tại %s)"
+msgstr "(không nhánh, di chuyển nửa bước được bắt đầu tại %s)"
 
 #: builtin/branch.c:600
 #, c-format
@@ -2999,7 +2911,7 @@ msgstr "hiển thị mã băm và chủ đề, đưa ra hai lần cho nhánh th
 
 #: builtin/branch.c:806
 msgid "suppress informational messages"
-msgstr "Thu hồi các thông điệp thông tin"
+msgstr "không xuất các thông tin"
 
 #: builtin/branch.c:807
 msgid "set up tracking mode (see git-pull(1))"
@@ -3011,17 +2923,18 @@ msgstr "thay đổi thông tin thượng nguồn"
 
 #: builtin/branch.c:813
 msgid "use colored output"
-msgstr "sử dụng kết xuất có tô màu"
+msgstr "tô màu kết xuất"
 
 #: builtin/branch.c:814
 msgid "act on remote-tracking branches"
 msgstr "thao tác trên nhánh “remote-tracking”"
 
 #: builtin/branch.c:817 builtin/branch.c:823 builtin/branch.c:844
-#: builtin/branch.c:850 builtin/commit.c:1460 builtin/commit.c:1461
-#: builtin/commit.c:1462 builtin/commit.c:1463 builtin/tag.c:468
+#: builtin/branch.c:850 builtin/commit.c:1494 builtin/commit.c:1495
+#: builtin/commit.c:1496 builtin/commit.c:1497 builtin/tag.c:527
+#: builtin/tag.c:533
 msgid "commit"
-msgstr "commit"
+msgstr "lần_chuyển_giao"
 
 #: builtin/branch.c:818 builtin/branch.c:824
 msgid "print only branches that contain the commit"
@@ -3037,7 +2950,7 @@ msgstr "liệt kê cả nhánh “remote-tracking” và nội bộ"
 
 #: builtin/branch.c:833
 msgid "delete fully merged branch"
-msgstr "xóa một cách đầy đủ nhánh đã hòa trộn"
+msgstr "xóa một toàn bộ nhánh đã hòa trộn"
 
 #: builtin/branch.c:834
 msgid "delete branch (even if not merged)"
@@ -3073,7 +2986,7 @@ msgstr "chỉ hiển thị các nhánh chưa được hòa trộn"
 
 #: builtin/branch.c:850
 msgid "print only merged branches"
-msgstr "chỉ hiển thị các nhánh được hòa trộn"
+msgstr "chỉ hiển thị các nhánh đã hòa trộn"
 
 #: builtin/branch.c:854
 msgid "list branches in columns"
@@ -3093,7 +3006,7 @@ msgstr "tùy chọn --column và --verbose xung khắc nhau"
 
 #: builtin/branch.c:902 builtin/branch.c:941
 msgid "branch name required"
-msgstr "cần tên nhánh"
+msgstr "cần chỉ ra tên nhánh"
 
 #: builtin/branch.c:917
 msgid "Cannot give description to detached HEAD"
@@ -3205,44 +3118,44 @@ msgstr "Cần một kho chứa để có thể tạo một bundle."
 msgid "Need a repository to unbundle."
 msgstr "Cần một kho chứa để có thể giải nén một bundle."
 
-#: builtin/cat-file.c:328
+#: builtin/cat-file.c:331
 msgid "git cat-file (-t|-s|-e|-p|<type>|--textconv) <object>"
-msgstr "git cat-file (-t|-s|-e|-p|<kiểu>|--textconv) <đối tượng>"
+msgstr "git cat-file (-t|-s|-e|-p|<kiểu>|--textconv) <đối_tượng>"
 
-#: builtin/cat-file.c:329
+#: builtin/cat-file.c:332
 msgid "git cat-file (--batch|--batch-check) < <list_of_objects>"
 msgstr "git cat-file (--batch|--batch-check) < <danh-sách-đối-tượng>"
 
-#: builtin/cat-file.c:366
+#: builtin/cat-file.c:369
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr "<kiểu> là một trong số: blob, tree, commit hoặc tag"
 
-#: builtin/cat-file.c:367
+#: builtin/cat-file.c:370
 msgid "show object type"
 msgstr "hiển thị kiểu đối tượng"
 
-#: builtin/cat-file.c:368
+#: builtin/cat-file.c:371
 msgid "show object size"
 msgstr "hiển thị kích thước đối tượng"
 
-#: builtin/cat-file.c:370
+#: builtin/cat-file.c:373
 msgid "exit with zero when there's no error"
 msgstr "thoát với 0 khi không có lỗi"
 
-#: builtin/cat-file.c:371
+#: builtin/cat-file.c:374
 msgid "pretty-print object's content"
 msgstr "in nội dung đối tượng dạng dễ đọc"
 
-#: builtin/cat-file.c:373
+#: builtin/cat-file.c:376
 msgid "for blob objects, run textconv on object's content"
 msgstr "với đối tượng blob, chạy lệnh textconv trên nội dung của đối tượng"
 
-#: builtin/cat-file.c:375
+#: builtin/cat-file.c:378
 msgid "show info and content of objects fed from the standard input"
 msgstr ""
 "hiển thị thông tin và nội dung của các đối tượng lấy từ đầu vào tiêu chuẩn"
 
-#: builtin/cat-file.c:378
+#: builtin/cat-file.c:381
 msgid "show info about objects fed from the standard input"
 msgstr "hiển thị các thông tin về đối tượng fed  từ đầu vào tiêu chuẩn"
 
@@ -3271,7 +3184,7 @@ msgstr "đọc tên tập tin từ đầu vào tiêu chuẩn"
 msgid "terminate input and output records by a NUL character"
 msgstr "chấm dứt các bản ghi vào và ra bằng ký tự NULL"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1090 builtin/gc.c:260
+#: builtin/check-ignore.c:18 builtin/checkout.c:1089 builtin/gc.c:271
 msgid "suppress progress reporting"
 msgstr "chặn các báo cáo tiến trình hoạt động"
 
@@ -3424,60 +3337,59 @@ msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr ""
 "Không thể cập nhật các đường dẫn và chuyển đến nhánh “%s” cùng một lúc."
 
-#: builtin/checkout.c:261 builtin/checkout.c:451
+#: builtin/checkout.c:261 builtin/checkout.c:450
 msgid "corrupt index file"
 msgstr "tập tin ghi bảng mục lục bị hỏng"
 
-#: builtin/checkout.c:322 builtin/checkout.c:329
+#: builtin/checkout.c:321 builtin/checkout.c:328
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "đường dẫn “%s” không được hòa trộn"
 
-#: builtin/checkout.c:473
+#: builtin/checkout.c:472
 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:594
+#: builtin/checkout.c:593
 #, c-format
 msgid "Can not do reflog for '%s'\n"
 msgstr "Không thể thực hiện reflog cho “%s”\n"
 
-#: builtin/checkout.c:632
+#: builtin/checkout.c:631
 msgid "HEAD is now at"
 msgstr "HEAD hiện giờ tại"
 
-#: builtin/checkout.c:639
+#: builtin/checkout.c:638
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:642
+#: builtin/checkout.c:641
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Đã sẵn sàng trên “%s”\n"
 
-#: builtin/checkout.c:646
+#: builtin/checkout.c:645
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
-msgstr "Đã chuyển tới và reset nhánh “%s”\n"
+msgstr "Đã chuyển tới và đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:648 builtin/checkout.c:1033
+#: builtin/checkout.c:647 builtin/checkout.c:1032
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Đã chuyển đến nhánh mới “%s”\n"
 
-#: builtin/checkout.c:650
+#: builtin/checkout.c:649
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Đã chuyển đến nhánh “%s”\n"
 
-#: builtin/checkout.c:706
+#: builtin/checkout.c:705
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... và nhiều hơn %d.\n"
 
-#. The singular version
-#: builtin/checkout.c:712
+#: builtin/checkout.c:711
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -3502,7 +3414,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:730
+#: builtin/checkout.c:729
 #, c-format
 msgid ""
 "If you want to keep them by creating a new branch, this may be a good time\n"
@@ -3518,142 +3430,141 @@ msgstr ""
 " git branch tên_nhánh_mới %s\n"
 "\n"
 
-#: builtin/checkout.c:760
+#: builtin/checkout.c:759
 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:764
+#: builtin/checkout.c:763
 msgid "Previous HEAD position was"
 msgstr "Vị trí trước kia của HEAD là"
 
-#: builtin/checkout.c:791 builtin/checkout.c:1028
+#: builtin/checkout.c:790 builtin/checkout.c:1027
 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:935
+#: builtin/checkout.c:934
 #, 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:974
+#: builtin/checkout.c:973
 #, c-format
 msgid "invalid reference: %s"
 msgstr "tham chiếu không hợp lệ: %s"
 
-#. case (1): want a tree
-#: builtin/checkout.c:1003
+#: builtin/checkout.c:1002
 #, 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:1042
+#: builtin/checkout.c:1041
 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:1045 builtin/checkout.c:1049
+#: builtin/checkout.c:1044 builtin/checkout.c:1048
 #, 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:1053 builtin/checkout.c:1056 builtin/checkout.c:1061
-#: builtin/checkout.c:1064
+#: builtin/checkout.c:1052 builtin/checkout.c:1055 builtin/checkout.c:1060
+#: builtin/checkout.c:1063
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "“%s” không thể được dùng với “%s”"
 
-#: builtin/checkout.c:1069
+#: builtin/checkout.c:1068
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "Không thể chuyển nhánh đến một non-commit “%s”"
 
-#: builtin/checkout.c:1091 builtin/checkout.c:1093 builtin/clone.c:88
+#: builtin/checkout.c:1090 builtin/checkout.c:1092 builtin/clone.c:88
 #: builtin/remote.c:159 builtin/remote.c:161
 msgid "branch"
 msgstr "nhánh"
 
-#: builtin/checkout.c:1092
+#: builtin/checkout.c:1091
 msgid "create and checkout a new branch"
 msgstr "tạo và checkout một nhánh mới"
 
-#: builtin/checkout.c:1094
+#: builtin/checkout.c:1093
 msgid "create/reset and checkout a branch"
 msgstr "tạo/đặt_lại và checkout một nhánh"
 
-#: builtin/checkout.c:1095
+#: builtin/checkout.c:1094
 msgid "create reflog for new branch"
 msgstr "tạo reflog cho nhánh mới"
 
-#: builtin/checkout.c:1096
+#: builtin/checkout.c:1095
 msgid "detach the HEAD at named commit"
 msgstr "rời bỏ HEAD tại lần chuyển giao danh nghĩa"
 
-#: builtin/checkout.c:1097
+#: builtin/checkout.c:1096
 msgid "set upstream info for new branch"
 msgstr "đặt thông tin thượng nguồn cho nhánh mới"
 
-#: builtin/checkout.c:1099
-msgid "new branch"
-msgstr "nhánh mới"
+#: builtin/checkout.c:1098
+msgid "new-branch"
+msgstr "nhánh-mới"
 
-#: builtin/checkout.c:1099
+#: builtin/checkout.c:1098
 msgid "new unparented branch"
 msgstr "nhánh không cha mới"
 
-#: builtin/checkout.c:1100
+#: builtin/checkout.c:1099
 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:1102
+#: builtin/checkout.c:1101
 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:1104
+#: builtin/checkout.c:1103
 msgid "force checkout (throw away local modifications)"
-msgstr "ép buộc lấy ra (checkout) (bỏ đi những thay đổi nội bộ)"
+msgstr "ép buộc lấy ra (bỏ đi những thay đổi nội bộ)"
 
-#: builtin/checkout.c:1105
+#: builtin/checkout.c:1104
 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:1106 builtin/merge.c:225
+#: builtin/checkout.c:1105 builtin/merge.c:225
 msgid "update ignored files (default)"
 msgstr "cập nhật các tập tin bị bỏ qua (mặc định)"
 
-#: builtin/checkout.c:1107 builtin/log.c:1228 parse-options.h:248
+#: builtin/checkout.c:1106 builtin/log.c:1228 parse-options.h:245
 msgid "style"
 msgstr "kiểu"
 
-#: builtin/checkout.c:1108
+#: builtin/checkout.c:1107
 msgid "conflict style (merge or diff3)"
 msgstr "xung đột kiểu (hòa trộn hoặc diff3)"
 
-#: builtin/checkout.c:1111
+#: builtin/checkout.c:1110
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "không giới hạn đặc tả đường dẫn thành chỉ các mục thưa thớt"
 
-#: builtin/checkout.c:1113
+#: builtin/checkout.c:1112
 msgid "second guess 'git checkout no-such-branch'"
 msgstr "gợi ý thứ hai “git checkout không-nhánh-nào-như-vậy”"
 
-#: builtin/checkout.c:1136
+#: builtin/checkout.c:1135
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "Các tùy chọn -b, -B và --orphan loại từ lẫn nhau"
 
-#: builtin/checkout.c:1153
+#: builtin/checkout.c:1152
 msgid "--track needs a branch name"
 msgstr "--track cần tên một nhánh"
 
-#: builtin/checkout.c:1160
+#: builtin/checkout.c:1159
 msgid "Missing branch name; try -b"
 msgstr "Thiếu tên nhánh; hãy thử -b"
 
-#: builtin/checkout.c:1197
+#: builtin/checkout.c:1196
 msgid "invalid path specification"
 msgstr "đường dẫn đã cho không hợp lệ"
 
-#: builtin/checkout.c:1204
+#: builtin/checkout.c:1203
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -3663,12 +3574,12 @@ msgstr ""
 "Bạn đã có ý định checkout “%s” cái mà không thể được phân giải như là lần "
 "chuyển giao?"
 
-#: builtin/checkout.c:1209
+#: builtin/checkout.c:1208
 #, 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:1213
+#: builtin/checkout.c:1212
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -3707,7 +3618,7 @@ msgstr "Nên bỏ qua kho chứa %s\n"
 msgid "failed to remove %s"
 msgstr "gặp lỗi khi gỡ bỏ %s"
 
-#: builtin/clean.c:294
+#: builtin/clean.c:295
 msgid ""
 "Prompt help:\n"
 "1          - select a numbered item\n"
@@ -3719,7 +3630,7 @@ msgstr ""
 "foo        - chọn mục trên cơ sở tiền tố duy nhất\n"
 "           - (trống rỗng) không chọn gì cả"
 
-#: builtin/clean.c:298
+#: builtin/clean.c:299
 msgid ""
 "Prompt help:\n"
 "1          - select a single item\n"
@@ -3737,37 +3648,37 @@ msgstr ""
 "foo        - chọn mục dựa trên tiền tố duy nhất\n"
 "-...       - không chọn các mục đã chỉ ra\n"
 "*          - chọn tất\n"
-"           - (trống rỗng) kết thúc việc chọn"
+"           - (để trống) kết thúc việc chọn"
 
-#: builtin/clean.c:516
+#: builtin/clean.c:517
 #, c-format
 msgid "Huh (%s)?"
 msgstr "Hả (%s)?"
 
-#: builtin/clean.c:659
+#: builtin/clean.c:660
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "Mẫu để lọc các tập tin đầu vào cần lờ đi>> "
 
-#: builtin/clean.c:696
+#: builtin/clean.c:697
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr "CẢNH BÁO: Không tìm thấy các mục được khớp bởi: %s"
 
-#: builtin/clean.c:717
+#: builtin/clean.c:718
 msgid "Select items to delete"
 msgstr "Chọn mục muốn xóa"
 
-#: builtin/clean.c:757
+#: builtin/clean.c:758
 #, c-format
 msgid "remove %s? "
 msgstr "gỡ bỏ “%s”? "
 
-#: builtin/clean.c:782
+#: builtin/clean.c:783
 msgid "Bye."
 msgstr "Tạm biệt."
 
-#: builtin/clean.c:790
+#: builtin/clean.c:791
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -3785,83 +3696,83 @@ msgstr ""
 "help                - hiển thị chính trợ giúp này\n"
 "?                   - trợ giúp dành cho chọn bằng cách nhắc"
 
-#: builtin/clean.c:817
+#: builtin/clean.c:818
 msgid "*** Commands ***"
 msgstr "*** Lệnh ***"
 
-#: builtin/clean.c:818
+#: builtin/clean.c:819
 msgid "What now"
 msgstr "Giờ thì sao"
 
-#: builtin/clean.c:826
+#: builtin/clean.c:827
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] "Có muốn gỡ bỏ mục sau đây không:"
 msgstr[1] "Có muốn gỡ bỏ các mục sau đây không:"
 
-#: builtin/clean.c:843
+#: builtin/clean.c:844
 msgid "No more files to clean, exiting."
 msgstr "Không còn tập-tin nào để dọn dẹp, đang thoát ra."
 
-#: builtin/clean.c:874
+#: builtin/clean.c:875
 msgid "do not print names of files removed"
 msgstr "không hiển thị tên của các tập tin đã gỡ bỏ"
 
-#: builtin/clean.c:876
+#: builtin/clean.c:877
 msgid "force"
 msgstr "ép buộc"
 
-#: builtin/clean.c:877
+#: builtin/clean.c:878
 msgid "interactive cleaning"
 msgstr "dọn bằng kiểu tương tác"
 
-#: builtin/clean.c:879
+#: builtin/clean.c:880
 msgid "remove whole directories"
 msgstr "gỡ bỏ toàn bộ thư mục"
 
-#: builtin/clean.c:880 builtin/describe.c:420 builtin/grep.c:718
-#: builtin/ls-files.c:483 builtin/name-rev.c:314 builtin/show-ref.c:185
+#: builtin/clean.c:881 builtin/describe.c:415 builtin/grep.c:716
+#: builtin/ls-files.c:486 builtin/name-rev.c:314 builtin/show-ref.c:185
 msgid "pattern"
 msgstr "mẫu"
 
-#: builtin/clean.c:881
+#: builtin/clean.c:882
 msgid "add <pattern> to ignore rules"
 msgstr "thêm <mẫu> vào trong qui tắc bỏ qua"
 
-#: builtin/clean.c:882
+#: builtin/clean.c:883
 msgid "remove ignored files, too"
 msgstr "đồng thời gỡ bỏ cả các tập tin bị bỏ qua"
 
-#: builtin/clean.c:884
+#: builtin/clean.c:885
 msgid "remove only ignored files"
 msgstr "chỉ gỡ bỏ những tập tin bị bỏ qua"
 
-#: builtin/clean.c:902
+#: builtin/clean.c:903
 msgid "-x and -X cannot be used together"
-msgstr "-x và -X không thể dùng cùng một lúc với nhau"
+msgstr "-x và -X không thể dùng cùng nhau"
 
-#: builtin/clean.c:906
+#: builtin/clean.c:907
 msgid ""
-"clean.requireForce set to true and neither -i, -n nor -f given; refusing to "
+"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
 msgstr ""
-"clean.requireForce được đặt thành true và không đưa ra tùy chọn -n mà cũng "
-"không -f; từ chối lệnh dọn dẹp (clean)"
+"clean.requireForce được đặt thành true và không đưa ra tùy chọn -i, -n mà "
+"cũng không -f; từ chối lệnh dọn dẹp (clean)"
 
-#: builtin/clean.c:909
+#: builtin/clean.c:910
 msgid ""
-"clean.requireForce defaults to true and neither -i, -n nor -f given; "
+"clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
 msgstr ""
-"clean.requireForce mặc định được đặt là true và không đưa ra tùy chọn -n mà "
-"cũng không -f; từ chối lệnh dọn dẹp (clean)"
+"clean.requireForce mặc định được đặt là true và không đưa ra tùy chọn -i, -n "
+"mà cũng không -f; từ chối lệnh dọn dẹp (clean)"
 
 #: builtin/clone.c:36
 msgid "git clone [options] [--] <repo> [<dir>]"
 msgstr "git clone [các-tùy-chọn] [--] <kho> [<t.mục>]"
 
 #: builtin/clone.c:64 builtin/fetch.c:97 builtin/merge.c:222
-#: builtin/push.c:521
+#: builtin/push.c:504
 msgid "force progress reporting"
 msgstr "ép buộc báo cáo tiến triển công việc"
 
@@ -3869,7 +3780,7 @@ msgstr "ép buộc báo cáo tiến triển công việc"
 msgid "don't create a checkout"
 msgstr "không tạo một checkout"
 
-#: builtin/clone.c:67 builtin/clone.c:69 builtin/init-db.c:488
+#: builtin/clone.c:67 builtin/clone.c:69 builtin/init-db.c:486
 msgid "create a bare repository"
 msgstr "tạo kho thuần"
 
@@ -3893,11 +3804,11 @@ msgstr "cài đặt đây là kho chia sẻ"
 msgid "initialize submodules in the clone"
 msgstr "khởi tạo mô-đun-con trong bản sao"
 
-#: builtin/clone.c:82 builtin/init-db.c:485
+#: builtin/clone.c:82 builtin/init-db.c:483
 msgid "template-directory"
 msgstr "thư-mục-mẫu"
 
-#: builtin/clone.c:83 builtin/init-db.c:486
+#: builtin/clone.c:83 builtin/init-db.c:484
 msgid "directory from which templates will be used"
 msgstr "thư mục mà tại đó các mẫu sẽ được dùng"
 
@@ -3921,7 +3832,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:92 builtin/fetch.c:98 builtin/grep.c:663
+#: builtin/clone.c:92 builtin/fetch.c:98 builtin/grep.c:661
 msgid "depth"
 msgstr "độ-sâu"
 
@@ -3933,11 +3844,11 @@ msgstr "tạo bản sao không đầy đủ cho mức sâu đã cho"
 msgid "clone only one branch, HEAD or --branch"
 msgstr "chỉ nhân bản một nhánh, HEAD hoặc --branch"
 
-#: builtin/clone.c:96 builtin/init-db.c:494
+#: builtin/clone.c:96 builtin/init-db.c:492
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:97 builtin/init-db.c:495
+#: builtin/clone.c:97 builtin/init-db.c:493
 msgid "separate git dir from working tree"
 msgstr "không dùng chung thư mục dành riêng cho git và thư mục làm việc"
 
@@ -3972,7 +3883,7 @@ msgstr "tạo thư mục \"%s\" gặp lỗi"
 #: builtin/clone.c:323 builtin/diff.c:83
 #, c-format
 msgid "failed to stat '%s'"
-msgstr "gặp lỗi stat (lấy trạng thái về) “%s”"
+msgstr "gặp lỗi khi lấy thống kê về “%s”"
 
 #: builtin/clone.c:325
 #, c-format
@@ -4025,7 +3936,7 @@ msgstr "máy chủ đã không gửi tất cả các đối tượng cần thi
 
 #: builtin/clone.c:626
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
-msgstr "refers HEAD máy chủ  chỉ đến ref không tồn tại, không thể checkout.\n"
+msgstr "refers HEAD máy chủ  chỉ đến ref không tồn tại, không thể lấy ra.\n"
 
 #: builtin/clone.c:657
 msgid "unable to checkout working tree"
@@ -4230,69 +4141,69 @@ msgstr ""
 "Thế thì \"git cherry-pick --continue\" sẽ phục hồi lại việc cherry-pick\n"
 "những lần chuyển giao còn lại.\n"
 
-#: builtin/commit.c:287
+#: builtin/commit.c:288
 msgid "failed to unpack HEAD tree object"
 msgstr "gặp lỗi khi tháo dỡ HEAD đối tượng cây"
 
-#: builtin/commit.c:329
+#: builtin/commit.c:330
 msgid "unable to create temporary index"
 msgstr "không thể tạo bảng mục lục tạm thời"
 
-#: builtin/commit.c:335
+#: builtin/commit.c:336
 msgid "interactive add failed"
 msgstr "gặp lỗi khi thêm bằng cách tương"
 
-#: builtin/commit.c:368 builtin/commit.c:389 builtin/commit.c:439
+#: builtin/commit.c:369 builtin/commit.c:390 builtin/commit.c:440
 msgid "unable to write new_index file"
 msgstr "không thể ghi tập tin lưu bảng mục lục mới (new_index)"
 
-#: builtin/commit.c:420
+#: builtin/commit.c:421
 msgid "cannot do a partial commit during a merge."
 msgstr ""
 "không thể thực hiện việc chuyển giao cục bộ trong khi đang được hòa trộn."
 
-#: builtin/commit.c:422
+#: builtin/commit.c:423
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr ""
 "không thể thực hiện việc chuyển giao bộ phận trong khi đang cherry-pick."
 
-#: builtin/commit.c:432
+#: builtin/commit.c:433
 msgid "cannot read the index"
 msgstr "không đọc được bảng mục lục"
 
-#: builtin/commit.c:452
+#: builtin/commit.c:453
 msgid "unable to write temporary index file"
 msgstr "không thể ghi tập tin lưu bảng mục lục tạm thời"
 
-#: builtin/commit.c:543 builtin/commit.c:549
+#: builtin/commit.c:544 builtin/commit.c:550
 #, c-format
 msgid "invalid commit: %s"
 msgstr "lần chuyển giao không hợp lệ: %s"
 
-#: builtin/commit.c:571
+#: builtin/commit.c:572
 msgid "malformed --author parameter"
 msgstr "đối số cho --author bị dị hình"
 
-#: builtin/commit.c:591
+#: builtin/commit.c:592
 #, c-format
 msgid "Malformed ident string: '%s'"
 msgstr "Chuỗi thụt lề đầu dòng dị hình: “%s”"
 
-#: builtin/commit.c:630 builtin/commit.c:663 builtin/commit.c:1007
+#: builtin/commit.c:629 builtin/commit.c:663 builtin/commit.c:1014
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "không thể tìm kiếm commit (lần chuyển giao) %s"
 
-#: builtin/commit.c:642 builtin/shortlog.c:273
+#: builtin/commit.c:641 builtin/shortlog.c:273
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(đang đọc thông điệp nhật ký từ đầu vào tiêu chuẩn)\n"
 
-#: builtin/commit.c:644
+#: builtin/commit.c:643
 msgid "could not read log from standard input"
 msgstr "không thể đọc nhật ký từ đầu vào tiêu chuẩn"
 
-#: builtin/commit.c:648
+#: builtin/commit.c:647
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "không đọc được tệp nhật ký “%s”"
@@ -4318,7 +4229,7 @@ msgstr "Không thể đọc “%s”."
 msgid "could not write commit template"
 msgstr "không thể ghi mẫu chuyển giao"
 
-#: builtin/commit.c:760
+#: builtin/commit.c:764
 #, c-format
 msgid ""
 "\n"
@@ -4333,7 +4244,7 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:765
+#: builtin/commit.c:769
 #, c-format
 msgid ""
 "\n"
@@ -4348,7 +4259,7 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:777
+#: builtin/commit.c:782
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -4359,7 +4270,7 @@ msgstr ""
 "bắt đầu bằng “%c” sẽ được bỏ qua, nếu phần chú thích rỗng sẽ hủy bỏ lần "
 "chuyển giao.\n"
 
-#: builtin/commit.c:782
+#: builtin/commit.c:789
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -4371,149 +4282,149 @@ msgstr ""
 "bắt đầu bằng “%c” sẽ được bỏ qua; bạn có thể xóa chúng đi nếu muốn thế.\n"
 "Phần chú thích này nếu trống rỗng sẽ hủy bỏ lần chuyển giao.\n"
 
-#: builtin/commit.c:795
+#: builtin/commit.c:802
 #, c-format
 msgid "%sAuthor:    %s"
 msgstr "%sTác giả:    %s"
 
-#: builtin/commit.c:802
+#: builtin/commit.c:809
 #, c-format
 msgid "%sCommitter: %s"
 msgstr "%sNgười chuyển giao: %s"
 
-#: builtin/commit.c:822
+#: builtin/commit.c:829
 msgid "Cannot read index"
 msgstr "Không đọc được bảng mục lục"
 
-#: builtin/commit.c:865
+#: builtin/commit.c:872
 msgid "Error building trees"
 msgstr "Gặp lỗi khi xây dựng cây"
 
-#: builtin/commit.c:880 builtin/tag.c:359
+#: builtin/commit.c:887 builtin/tag.c:391
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "Xin hãy cung cấp lời chú giải hoặc là dùng tùy chọn -m hoặc là -F.\n"
 
-#: builtin/commit.c:982
+#: builtin/commit.c:989
 #, c-format
 msgid "No existing author found with '%s'"
 msgstr "Không tìm thấy tác giả có sẵn với “%s”"
 
-#: builtin/commit.c:997 builtin/commit.c:1237
+#: builtin/commit.c:1004 builtin/commit.c:1244
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Chế độ cho các tập tin chưa được theo dõi không hợp lệ “%s”"
 
-#: builtin/commit.c:1034
+#: builtin/commit.c:1041
 msgid "--long and -z are incompatible"
 msgstr "hai tùy chọn -long và -z không tương thích với nhau"
 
-#: builtin/commit.c:1064
+#: builtin/commit.c:1071
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "Sử dụng cả hai tùy chọn --reset-author và --author không hợp lý"
 
-#: builtin/commit.c:1075
+#: builtin/commit.c:1080
 msgid "You have nothing to amend."
 msgstr "Không có gì để mà “tu bổ” cả."
 
-#: builtin/commit.c:1078
+#: builtin/commit.c:1083
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr ""
 "Bạn đang ở giữa của quá trình hòa trộn -- không thể thực hiện việc “tu bổ”."
 
-#: builtin/commit.c:1080
+#: builtin/commit.c:1085
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr ""
 "Bạn đang ở giữa của quá trình cherry-pick -- không thể thực hiện việc “tu "
 "bổ”."
 
-#: builtin/commit.c:1083
+#: builtin/commit.c:1088
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "Các tùy chọn --squash và --fixup không thể sử dụng cùng với nhau"
 
-#: builtin/commit.c:1093
+#: builtin/commit.c:1098
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr ""
 "Chỉ được dùng một trong số tùy chọn trong số các tùy chọn -c/-C/-F/--fixup"
 
-#: builtin/commit.c:1095
+#: builtin/commit.c:1100
 msgid "Option -m cannot be combined with -c/-C/-F/--fixup."
 msgstr "Tùy chọn -m không thể được tổ hợp cùng với -c/-C/-F/--fixup."
 
-#: builtin/commit.c:1103
+#: builtin/commit.c:1108
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr ""
 "--reset-author chỉ có thể được sử dụng với tùy chọn -C, -c hay --amend."
 
-#: builtin/commit.c:1120
+#: builtin/commit.c:1125
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr ""
 "Chỉ một trong các tùy chọn --include/--only/--all/--interactive/--patch được "
 "sử dụng."
 
-#: builtin/commit.c:1122
+#: builtin/commit.c:1127
 msgid "No paths with --include/--only does not make sense."
 msgstr "Không đường dẫn với các tùy chọn --include/--only không hợp lý."
 
-#: builtin/commit.c:1124
+#: builtin/commit.c:1129
 msgid "Clever... amending the last one with dirty index."
 msgstr "Giỏi...  “tu bổ” cái cuối với bảng mục lục bẩn."
 
-#: builtin/commit.c:1126
-msgid "Explicit paths specified without -i nor -o; assuming --only paths..."
+#: builtin/commit.c:1131
+msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr ""
-"Những đường dẫn rõ ràng được chỉ ra không có tùy chọn -i cũng không -o; đang "
-"giả định --only những-đường-dẫn..."
+"Những đường dẫn rõ ràng được chỉ ra không có tùy chọn -i cũng không -o; coi "
+"là --only những đường dẫn"
 
-#: builtin/commit.c:1136 builtin/tag.c:572
+#: builtin/commit.c:1143 builtin/tag.c:639
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Chế độ dọn dẹp không hợp lệ %s"
 
-#: builtin/commit.c:1141
+#: builtin/commit.c:1148
 msgid "Paths with -a does not make sense."
 msgstr "Các đường dẫn với tùy chọn -a không hợp lý."
 
-#: builtin/commit.c:1251 builtin/commit.c:1482
+#: builtin/commit.c:1258 builtin/commit.c:1516
 msgid "show status concisely"
 msgstr "hiển thị trạng thái ở dạng súc tích"
 
-#: builtin/commit.c:1253 builtin/commit.c:1484
+#: builtin/commit.c:1260 builtin/commit.c:1518
 msgid "show branch information"
 msgstr "hiển thị thông tin nhánh"
 
-#: builtin/commit.c:1255 builtin/commit.c:1486 builtin/push.c:507
+#: builtin/commit.c:1262 builtin/commit.c:1520 builtin/push.c:490
 msgid "machine-readable output"
 msgstr "kết xuất dạng máy-có-thể-đọc"
 
-#: builtin/commit.c:1258 builtin/commit.c:1488
+#: builtin/commit.c:1265 builtin/commit.c:1522
 msgid "show status in long format (default)"
 msgstr "hiển thị trạng thái ở định dạng dài (mặc định)"
 
-#: builtin/commit.c:1261 builtin/commit.c:1491
+#: builtin/commit.c:1268 builtin/commit.c:1525
 msgid "terminate entries with NUL"
 msgstr "chấm dứt các mục bằng NUL"
 
-#: builtin/commit.c:1263 builtin/commit.c:1494 builtin/fast-export.c:674
-#: builtin/fast-export.c:677 builtin/tag.c:459
+#: builtin/commit.c:1270 builtin/commit.c:1528 builtin/fast-export.c:674
+#: builtin/fast-export.c:677 builtin/tag.c:514
 msgid "mode"
 msgstr "chế độ"
 
-#: builtin/commit.c:1264 builtin/commit.c:1494
+#: builtin/commit.c:1271 builtin/commit.c:1528
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr ""
 "hiển thị các tập tin chưa được theo dõi  dấu vết, các chế độ tùy chọn:  all, "
 "normal, no. (Mặc định: all)"
 
-#: builtin/commit.c:1267
+#: builtin/commit.c:1274
 msgid "show ignored files"
 msgstr "hiển thị các tập tin ẩn"
 
-#: builtin/commit.c:1268 parse-options.h:156
+#: builtin/commit.c:1275 parse-options.h:153
 msgid "when"
 msgstr "khi"
 
-#: builtin/commit.c:1269
+#: builtin/commit.c:1276
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -4521,221 +4432,221 @@ msgstr ""
 "bỏ qua các thay đổi trong mô-đun-con, tùy chọn khi: all, dirty, untracked. "
 "(Mặc định: all)"
 
-#: builtin/commit.c:1271
+#: builtin/commit.c:1278
 msgid "list untracked files in columns"
 msgstr "hiển thị danh sách các tập-tin chưa được theo dõi trong các cột"
 
-#: builtin/commit.c:1340
+#: builtin/commit.c:1347
 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"
 
-#: builtin/commit.c:1342
+#: builtin/commit.c:1349
 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"
 
-#: builtin/commit.c:1383
+#: builtin/commit.c:1390
 msgid "detached HEAD"
 msgstr "đã rời khỏi HEAD"
 
-#: builtin/commit.c:1385
+#: builtin/commit.c:1392
 msgid " (root-commit)"
 msgstr " (root-commit)"
 
-#: builtin/commit.c:1452
+#: builtin/commit.c:1486
 msgid "suppress summary after successful commit"
 msgstr "không hiển thị tổng kết sau khi chuyển giao thành công"
 
-#: builtin/commit.c:1453
+#: builtin/commit.c:1487
 msgid "show diff in commit message template"
 msgstr "hiển thị sự khác biệt trong mẫu tin nhắn chuyển giao"
 
-#: builtin/commit.c:1455
+#: builtin/commit.c:1489
 msgid "Commit message options"
 msgstr "Các tùy chọn ghi chú commit"
 
-#: builtin/commit.c:1456 builtin/tag.c:457
+#: builtin/commit.c:1490 builtin/tag.c:512
 msgid "read message from file"
 msgstr "đọc chú thích từ tập tin"
 
-#: builtin/commit.c:1457
+#: builtin/commit.c:1491
 msgid "author"
 msgstr "tác giả"
 
-#: builtin/commit.c:1457
+#: builtin/commit.c:1491
 msgid "override author for commit"
 msgstr "ghi đè tác giả cho commit"
 
-#: builtin/commit.c:1458 builtin/gc.c:261
+#: builtin/commit.c:1492 builtin/gc.c:272
 msgid "date"
 msgstr "ngày tháng"
 
-#: builtin/commit.c:1458
+#: builtin/commit.c:1492
 msgid "override date for commit"
 msgstr "ghi đè ngày tháng cho lần chuyển giao"
 
-#: builtin/commit.c:1459 builtin/merge.c:216 builtin/notes.c:405
-#: builtin/notes.c:562 builtin/tag.c:455
+#: builtin/commit.c:1493 builtin/merge.c:216 builtin/notes.c:409
+#: builtin/notes.c:566 builtin/tag.c:510
 msgid "message"
 msgstr "chú thích"
 
-#: builtin/commit.c:1459
+#: builtin/commit.c:1493
 msgid "commit message"
 msgstr "chú thích của lần chuyển giao"
 
-#: builtin/commit.c:1460
+#: builtin/commit.c:1494
 msgid "reuse and edit message from specified commit"
 msgstr "dùng lại các ghi chú từ lần chuyển giao đã cho nhưng có cho sửa chữa"
 
-#: builtin/commit.c:1461
+#: builtin/commit.c:1495
 msgid "reuse message from specified commit"
 msgstr "dùng lại các ghi chú từ lần chuyển giao đã cho"
 
-#: builtin/commit.c:1462
+#: builtin/commit.c:1496
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
 "dùng ghi chú có định dạng autosquash để sửa chữa lần chuyển giao đã chỉ ra"
 
-#: builtin/commit.c:1463
+#: builtin/commit.c:1497
 msgid "use autosquash formatted message to squash specified commit"
 msgstr ""
 "dùng lời nhắn có định dạng tự động nén để nén lại các lần chuyển giao đã chỉ "
 "ra"
 
-#: builtin/commit.c:1464
+#: builtin/commit.c:1498
 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:1465 builtin/log.c:1180 builtin/revert.c:86
+#: builtin/commit.c:1499 builtin/log.c:1180 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "(nên dùng) thêm dòng Signed-off-by:"
 
-#: builtin/commit.c:1466
+#: builtin/commit.c:1500
 msgid "use specified template file"
 msgstr "sử dụng tập tin mẫu đã cho"
 
-#: builtin/commit.c:1467
+#: builtin/commit.c:1501
 msgid "force edit of commit"
 msgstr "ép buộc sửa lần commit"
 
-#: builtin/commit.c:1468
+#: builtin/commit.c:1502
 msgid "default"
 msgstr "mặc định"
 
-#: builtin/commit.c:1468 builtin/tag.c:460
+#: builtin/commit.c:1502 builtin/tag.c:515
 msgid "how to strip spaces and #comments from message"
 msgstr "làm thế nào để cắt bỏ khoảng trắng và #ghichú từ mẩu tin nhắn"
 
-#: builtin/commit.c:1469
+#: builtin/commit.c:1503
 msgid "include status in commit message template"
 msgstr "bao gồm các trạng thái trong mẫu ghi chú chuyển giao"
 
-#: builtin/commit.c:1470 builtin/merge.c:223 builtin/tag.c:461
-msgid "key id"
-msgstr "id của khóa"
+#: builtin/commit.c:1504 builtin/merge.c:223 builtin/revert.c:92
+#: builtin/tag.c:516
+msgid "key-id"
+msgstr "mã-số-khóa"
 
-#: builtin/commit.c:1471 builtin/merge.c:224
+#: builtin/commit.c:1505 builtin/merge.c:224 builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "ký lần chuyển giao dùng GPG"
 
-#. end commit message options
-#: builtin/commit.c:1474
+#: builtin/commit.c:1508
 msgid "Commit contents options"
 msgstr "Các tùy nội dung ghi chú commit"
 
-#: builtin/commit.c:1475
+#: builtin/commit.c:1509
 msgid "commit all changed files"
 msgstr "chuyển giao tất cả các tập tin có thay đổi"
 
-#: builtin/commit.c:1476
+#: builtin/commit.c:1510
 msgid "add specified files to index for commit"
 msgstr "thêm các tập tin đã chỉ ra vào bảng mục lục để chuyển giao"
 
-#: builtin/commit.c:1477
+#: builtin/commit.c:1511
 msgid "interactively add files"
 msgstr "thêm các tập-tin bằng tương tác"
 
-#: builtin/commit.c:1478
+#: builtin/commit.c:1512
 msgid "interactively add changes"
 msgstr "thêm các thay đổi bằng tương tác"
 
-#: builtin/commit.c:1479
+#: builtin/commit.c:1513
 msgid "commit only specified files"
 msgstr "chỉ chuyển giao các tập tin đã chỉ ra"
 
-#: builtin/commit.c:1480
+#: builtin/commit.c:1514
 msgid "bypass pre-commit hook"
 msgstr "vòng qua móc (hook) pre-commit"
 
-#: builtin/commit.c:1481
+#: builtin/commit.c:1515
 msgid "show what would be committed"
 msgstr "hiển thị xem cái gì có thể được chuyển giao"
 
-#: builtin/commit.c:1492
+#: builtin/commit.c:1526
 msgid "amend previous commit"
 msgstr "“tu bổ” (amend) lần commit trước"
 
-#: builtin/commit.c:1493
+#: builtin/commit.c:1527
 msgid "bypass post-rewrite hook"
 msgstr "vòng qua móc (hook) post-rewrite"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1532
 msgid "ok to record an empty change"
 msgstr "ok để ghi lại một thay đổi trống rỗng"
 
-#: builtin/commit.c:1500
+#: builtin/commit.c:1534
 msgid "ok to record a change with an empty message"
 msgstr "ok để ghi các thay đổi với lời nhắn trống rỗng"
 
-#: builtin/commit.c:1529
+#: builtin/commit.c:1562
 msgid "could not parse HEAD commit"
 msgstr "không thể phân tích commit (lần chuyển giao) HEAD"
 
-#: builtin/commit.c:1567 builtin/merge.c:518
+#: builtin/commit.c:1601 builtin/merge.c:518
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "không thể mở “%s” để đọc"
 
-#: builtin/commit.c:1574
+#: builtin/commit.c:1608
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Tập tin MERGE_HEAD sai hỏng (%s)"
 
-#: builtin/commit.c:1581
+#: builtin/commit.c:1615
 msgid "could not read MERGE_MODE"
 msgstr "không thể đọc MERGE_MODE"
 
-#: builtin/commit.c:1600
+#: builtin/commit.c:1634
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "không thể đọc phần chú thích (message) commit (lần chuyển giao): %s"
 
-#: builtin/commit.c:1611
+#: builtin/commit.c:1645
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr ""
 "Đang bỏ qua việc chuyển giao; bạn đã không biên soạn phần chú thích "
 "(message).\n"
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1650
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "Bãi bỏ việc chuyển giao bởi vì phần chú thích của nó trống rỗng.\n"
 
-#: builtin/commit.c:1631 builtin/merge.c:854 builtin/merge.c:879
+#: builtin/commit.c:1665 builtin/merge.c:857 builtin/merge.c:882
 msgid "failed to write commit object"
 msgstr "gặp lỗi khi ghi đối tượng chuyển giao"
 
-#: builtin/commit.c:1652
+#: builtin/commit.c:1686
 msgid "cannot lock HEAD ref"
 msgstr "không thể khóa HEAD ref (tham chiếu)"
 
-#: builtin/commit.c:1656
+#: builtin/commit.c:1690
 msgid "cannot update HEAD ref"
 msgstr "không thể cập nhật ref (tham chiếu) HEAD"
 
-#: builtin/commit.c:1667
+#: builtin/commit.c:1701
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full or quota is\n"
@@ -4750,127 +4661,127 @@ msgstr ""
 msgid "git config [options]"
 msgstr "git config [các-tùy-chọn]"
 
-#: builtin/config.c:54
+#: builtin/config.c:53
 msgid "Config file location"
 msgstr "Vị trí tập tin cấu hình"
 
-#: builtin/config.c:55
+#: builtin/config.c:54
 msgid "use global config file"
 msgstr "dùng tập tin cấu hình toàn cục"
 
-#: builtin/config.c:56
+#: builtin/config.c:55
 msgid "use system config file"
 msgstr "sử dụng tập tin cấu hình hệ thống"
 
-#: builtin/config.c:57
+#: builtin/config.c:56
 msgid "use repository config file"
 msgstr "dùng tập tin cấu hình của kho"
 
-#: builtin/config.c:58
+#: builtin/config.c:57
 msgid "use given config file"
 msgstr "sử dụng tập tin cấu hình đã cho"
 
-#: builtin/config.c:59
+#: builtin/config.c:58
 msgid "blob-id"
 msgstr "blob-id"
 
-#: builtin/config.c:59
+#: builtin/config.c:58
 msgid "read config from given blob object"
 msgstr "đọc cấu hình từ đối tượng blob đã cho"
 
-#: builtin/config.c:60
+#: builtin/config.c:59
 msgid "Action"
 msgstr "Hành động"
 
-#: builtin/config.c:61
+#: builtin/config.c:60
 msgid "get value: name [value-regex]"
 msgstr "lấy giá-trị: tên [value-regex]"
 
-#: builtin/config.c:62
+#: builtin/config.c:61
 msgid "get all values: key [value-regex]"
 msgstr "lấy tất cả giá-trị: khóa [value-regex]"
 
-#: builtin/config.c:63
+#: builtin/config.c:62
 msgid "get values for regexp: name-regex [value-regex]"
 msgstr "lấy giá trị cho regexp: name-regex [value-regex]"
 
-#: builtin/config.c:64
+#: builtin/config.c:63
 msgid "get value specific for the URL: section[.var] URL"
 msgstr "lấy đặc tả giá trị cho URL: phần[.biến] URL"
 
-#: builtin/config.c:65
+#: builtin/config.c:64
 msgid "replace all matching variables: name value [value_regex]"
 msgstr "thay thế tất cả các biến khớp mẫu: tên giá-trị [value_regex]"
 
-#: builtin/config.c:66
+#: builtin/config.c:65
 msgid "add a new variable: name value"
 msgstr "thêm biến mới: tên giá-trị"
 
-#: builtin/config.c:67
+#: builtin/config.c:66
 msgid "remove a variable: name [value-regex]"
 msgstr "gỡ bỏ biến: tên [value-regex]"
 
-#: builtin/config.c:68
+#: builtin/config.c:67
 msgid "remove all matches: name [value-regex]"
 msgstr "gỡ bỏ mọi cái khớp: tên [value-regex]"
 
-#: builtin/config.c:69
+#: builtin/config.c:68
 msgid "rename section: old-name new-name"
 msgstr "đổi tên phần: tên-cũ tên-mới"
 
-#: builtin/config.c:70
+#: builtin/config.c:69
 msgid "remove a section: name"
 msgstr "gỡ bỏ phần: tên"
 
-#: builtin/config.c:71
+#: builtin/config.c:70
 msgid "list all"
 msgstr "liệt kê tất"
 
-#: builtin/config.c:72
+#: builtin/config.c:71
 msgid "open an editor"
 msgstr "mở một trình biên soạn"
 
-#: builtin/config.c:73 builtin/config.c:74
+#: builtin/config.c:72 builtin/config.c:73
 msgid "slot"
 msgstr "khe"
 
-#: builtin/config.c:73
+#: builtin/config.c:72
 msgid "find the color configured: [default]"
 msgstr "tìm cấu hình màu sắc: [mặc định]"
 
-#: builtin/config.c:74
+#: builtin/config.c:73
 msgid "find the color setting: [stdout-is-tty]"
 msgstr "tìm các cài đặt về màu sắc: [stdout-là-tty]"
 
-#: builtin/config.c:75
+#: builtin/config.c:74
 msgid "Type"
 msgstr "Kiểu"
 
-#: builtin/config.c:76
+#: builtin/config.c:75
 msgid "value is \"true\" or \"false\""
 msgstr "giá trị là \"true\" hoặc \"false\""
 
-#: builtin/config.c:77
+#: builtin/config.c:76
 msgid "value is decimal number"
 msgstr "giá trị ở dạng số thập phân"
 
-#: builtin/config.c:78
+#: builtin/config.c:77
 msgid "value is --bool or --int"
 msgstr "giá trị là --bool hoặc --int"
 
-#: builtin/config.c:79
+#: builtin/config.c:78
 msgid "value is a path (file or directory name)"
 msgstr "giá trị là đường dẫn (tên tập tin hay thư mục)"
 
-#: builtin/config.c:80
+#: builtin/config.c:79
 msgid "Other"
 msgstr "Khác"
 
-#: builtin/config.c:81
+#: builtin/config.c:80
 msgid "terminate values with NUL byte"
 msgstr "chấm dứt giá trị với byte NUL"
 
-#: builtin/config.c:82
+#: builtin/config.c:81
 msgid "respect include directives on lookup"
 msgstr "tôn trọng kể cà các hướng trong tìm kiếm"
 
@@ -4890,47 +4801,47 @@ msgstr "git describe [các-tùy-chọn] <commit-ish>*"
 msgid "git describe [options] --dirty"
 msgstr "git describe [các-tùy-chọn] --dirty"
 
-#: builtin/describe.c:237
+#: builtin/describe.c:225
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "thẻ đã được ghi chú %s không sẵn để dùng"
 
-#: builtin/describe.c:241
+#: builtin/describe.c:229
 #, c-format
 msgid "annotated tag %s has no embedded name"
 msgstr "thẻ được chú giải %s không có tên nhúng"
 
-#: builtin/describe.c:243
+#: builtin/describe.c:231
 #, c-format
 msgid "tag '%s' is really '%s' here"
 msgstr "thẻ “%s” đã thực sự ở đây “%s” rồi"
 
-#: builtin/describe.c:270
+#: builtin/describe.c:258
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "Không phải tên đối tượng %s hợp lệ"
 
-#: builtin/describe.c:273
+#: builtin/describe.c:261
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s không phải là một đối tượng “%s” hợp lệ"
 
-#: builtin/describe.c:290
+#: builtin/describe.c:278
 #, c-format
 msgid "no tag exactly matches '%s'"
 msgstr "không có thẻ nào khớp chính xác với “%s”"
 
-#: builtin/describe.c:292
+#: builtin/describe.c:280
 #, c-format
 msgid "searching to describe %s\n"
 msgstr "Đang tìm kiếm để mô tả %s\n"
 
-#: builtin/describe.c:332
+#: builtin/describe.c:327
 #, c-format
 msgid "finished search at %s\n"
 msgstr "việc tìm kiếm đã kết thúc tại %s\n"
 
-#: builtin/describe.c:359
+#: builtin/describe.c:354
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
@@ -4939,7 +4850,7 @@ msgstr ""
 "Không có thẻ được chú giải nào được mô tả là “%s”.\n"
 "Tuy nhiên, ở đây có những thẻ không được chú giải: hãy thử --tags."
 
-#: builtin/describe.c:363
+#: builtin/describe.c:358
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
@@ -4948,12 +4859,12 @@ msgstr ""
 "Không có thẻ (tag) có thể mô tả “%s”.\n"
 "Hãy thử --always, hoặt tạo một số thẻ."
 
-#: builtin/describe.c:384
+#: builtin/describe.c:379
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr "đã xuyên %lu qua lần chuyển giao\n"
 
-#: builtin/describe.c:387
+#: builtin/describe.c:382
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
@@ -4962,63 +4873,63 @@ msgstr ""
 "tìm thấy nhiều hơn %i thẻ (tag); đã liệt kê %i gần đây nhất\n"
 "bỏ đi tìm kiếm tại %s\n"
 
-#: builtin/describe.c:409
+#: builtin/describe.c:404
 msgid "find the tag that comes after the commit"
 msgstr "tìm các thẻ mà nó đến trước lần chuyển giao"
 
-#: builtin/describe.c:410
+#: builtin/describe.c:405
 msgid "debug search strategy on stderr"
 msgstr "chiến lược tìm kiếm gỡ lỗi trên đầu ra lỗi chuẩn stderr"
 
-#: builtin/describe.c:411
+#: builtin/describe.c:406
 msgid "use any ref"
 msgstr "dùng ref bất kỳ"
 
-#: builtin/describe.c:412
+#: builtin/describe.c:407
 msgid "use any tag, even unannotated"
 msgstr "dùng thẻ bất kỳ, cả khi “unannotated”"
 
-#: builtin/describe.c:413
+#: builtin/describe.c:408
 msgid "always use long format"
 msgstr "luôn dùng định dạng dài"
 
-#: builtin/describe.c:414
+#: builtin/describe.c:409
 msgid "only follow first parent"
 msgstr "chỉ theo cha mẹ đầu tiên"
 
-#: builtin/describe.c:417
+#: builtin/describe.c:412
 msgid "only output exact matches"
 msgstr "chỉ xuất những gì khớp chính xác"
 
-#: builtin/describe.c:419
+#: builtin/describe.c:414
 msgid "consider <n> most recent tags (default: 10)"
 msgstr "coi như  <n> thẻ gần đây nhất (mặc định: 10)"
 
-#: builtin/describe.c:421
+#: builtin/describe.c:416
 msgid "only consider tags matching <pattern>"
 msgstr "chỉ cân nhắc đến những thẻ khớp với <mẫu>"
 
-#: builtin/describe.c:423 builtin/name-rev.c:321
+#: builtin/describe.c:418 builtin/name-rev.c:321
 msgid "show abbreviated commit object as fallback"
 msgstr "hiển thị đối tượng chuyển giao vắn tắt như là fallback"
 
-#: builtin/describe.c:424
+#: builtin/describe.c:419
 msgid "mark"
 msgstr "dấu"
 
-#: builtin/describe.c:425
+#: builtin/describe.c:420
 msgid "append <mark> on dirty working tree (default: \"-dirty\")"
 msgstr "thêm <dấu> trên cây thư mục làm việc bẩn (mặc định \"-dirty\")"
 
-#: builtin/describe.c:443
+#: builtin/describe.c:438
 msgid "--long is incompatible with --abbrev=0"
 msgstr "--long là xung khắc với tùy chọn --abbrev=0"
 
-#: builtin/describe.c:469
+#: builtin/describe.c:464
 msgid "No names found, cannot describe anything."
 msgstr "Không tìm thấy các tên, không thể mô tả gì cả."
 
-#: builtin/describe.c:489
+#: builtin/describe.c:484
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty là xung khắc với các tùy chọn commit-ish"
 
@@ -5314,7 +5225,7 @@ msgstr "Đang lấy về %s\n"
 msgid "Could not fetch %s"
 msgstr "không thể lấy về %s"
 
-#: builtin/fetch.c:1036
+#: builtin/fetch.c:1035
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -5356,10 +5267,10 @@ msgid "git fmt-merge-msg [-m <message>] [--log[=<n>]|--no-log] [--file <file>]"
 msgstr ""
 "git fmt-merge-msg [-m <chú_thích>] [--log[=<n>]|--no-log] [--file <tập-tin>]"
 
-#: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:702
-#: builtin/merge.c:196 builtin/repack.c:160 builtin/repack.c:164
-#: builtin/show-branch.c:654 builtin/show-ref.c:178 builtin/tag.c:446
-#: parse-options.h:135 parse-options.h:242
+#: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:700
+#: builtin/merge.c:196 builtin/repack.c:175 builtin/repack.c:179
+#: builtin/show-branch.c:654 builtin/show-ref.c:178 builtin/tag.c:501
+#: parse-options.h:132 parse-options.h:239
 msgid "n"
 msgstr "n"
 
@@ -5423,6 +5334,14 @@ msgstr "khóa"
 msgid "field name to sort on"
 msgstr "tên trường cần sắp xếp"
 
+#: builtin/fsck.c:147 builtin/prune.c:172
+msgid "Checking connectivity"
+msgstr "Đang kiểm tra kết nối"
+
+#: builtin/fsck.c:544
+msgid "Checking object directories"
+msgstr "Đang kiểm tra các thư mục đối tượng"
+
 #: builtin/fsck.c:607
 msgid "git fsck [options] [<object>...]"
 msgstr "git fsck [các-tùy-chọn] [<đối-tượng>...]"
@@ -5467,48 +5386,58 @@ msgstr "ghi các đối tượng không được quản lý trong .git/lost-foun
 msgid "show progress"
 msgstr "hiển thị quá trình"
 
+#: builtin/fsck.c:673
+msgid "Checking objects"
+msgstr "Đang kiểm tra các đối tượng"
+
 #: builtin/gc.c:24
 msgid "git gc [options]"
 msgstr "git gc [các-tùy-chọn]"
 
-#: builtin/gc.c:80
+#: builtin/gc.c:90
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "%s không hợp lệ: “%s”"
 
-#: builtin/gc.c:107
+#: builtin/gc.c:117
 #, c-format
 msgid "insanely long object directory %.*s"
 msgstr "thư mục đối tượng dài một cách điên rồ  %.*s"
 
-#: builtin/gc.c:262
+#: builtin/gc.c:273
 msgid "prune unreferenced objects"
 msgstr "xóa bỏ các đối tượng không được tham chiếu"
 
-#: builtin/gc.c:264
+#: builtin/gc.c:275
 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:265
+#: builtin/gc.c:276
 msgid "enable auto-gc mode"
 msgstr "bật chế độ auto-gc"
 
-#: builtin/gc.c:266
+#: builtin/gc.c:277
 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:306
+#: builtin/gc.c:318
 #, c-format
-msgid ""
-"Auto packing the repository for optimum performance. You may also\n"
-"run \"git gc\" manually. See \"git help gc\" for more information.\n"
+msgid "Auto packing the repository in background 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"
-"chạy lệnh \"git gc\" một cách thủ công. Hãy xem \"git help gc\" để biết thêm "
-"chi tiết.\n"
+"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:320
+#, 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:321
+#, 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"
 
-#. be quiet on --auto
-#: builtin/gc.c:316
+#: builtin/gc.c:336
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
@@ -5516,7 +5445,7 @@ msgstr ""
 "gc đang được thực hiện trên máy “%s” pid %<PRIuMAX> (dùng --force nếu không "
 "phải thế)"
 
-#: builtin/gc.c:341
+#: builtin/gc.c:361
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
@@ -5547,212 +5476,212 @@ msgstr "không thể đọc cây (%s)"
 msgid "unable to grep from object of type %s"
 msgstr "không thể thực hiện lệnh grep (lọc tìm) từ đối tượng thuộc kiểu %s"
 
-#: builtin/grep.c:551
+#: builtin/grep.c:549
 #, 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:568
+#: builtin/grep.c:566
 #, c-format
 msgid "cannot open '%s'"
 msgstr "không mở được “%s”"
 
-#: builtin/grep.c:642
+#: builtin/grep.c:640
 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:644
+#: builtin/grep.c:642
 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:646
+#: builtin/grep.c:644
 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:648
+#: builtin/grep.c:646
 msgid "search also in ignored files"
 msgstr "tìm cả trong các tập tin đã bị lờ đi"
 
-#: builtin/grep.c:651
+#: builtin/grep.c:649
 msgid "show non-matching lines"
 msgstr "hiển thị những dòng không khớp với mẫu"
 
-#: builtin/grep.c:653
+#: builtin/grep.c:651
 msgid "case insensitive matching"
 msgstr "phân biệt HOA/thường"
 
-#: builtin/grep.c:655
+#: builtin/grep.c:653
 msgid "match patterns only at word boundaries"
 msgstr "chỉ khớp mẫu tại đường ranh giới từ"
 
-#: builtin/grep.c:657
+#: builtin/grep.c:655
 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:659
+#: builtin/grep.c:657
 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:662
+#: builtin/grep.c:660
 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:664
+#: builtin/grep.c:662
 msgid "descend at most <depth> levels"
 msgstr "giảm xuống ít nhất mức <sâu>"
 
-#: builtin/grep.c:668
+#: builtin/grep.c:666
 msgid "use extended POSIX regular expressions"
 msgstr "dùng biểu thức chính qui POSIX có mở rộng"
 
-#: builtin/grep.c:671
+#: builtin/grep.c:669
 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:674
+#: builtin/grep.c:672
 msgid "interpret patterns as fixed strings"
 msgstr "diễn dịch các mẫu như là chuỗi cố định"
 
-#: builtin/grep.c:677
+#: builtin/grep.c:675
 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:680
+#: builtin/grep.c:678
 msgid "show line numbers"
 msgstr "hiển thị số của dòng"
 
-#: builtin/grep.c:681
+#: builtin/grep.c:679
 msgid "don't show filenames"
 msgstr "không hiển thị tên tập tin"
 
-#: builtin/grep.c:682
+#: builtin/grep.c:680
 msgid "show filenames"
 msgstr "hiển thị các tên tập tin"
 
-#: builtin/grep.c:684
+#: builtin/grep.c:682
 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:686
+#: builtin/grep.c:684
 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:688
+#: builtin/grep.c:686
 msgid "synonym for --files-with-matches"
 msgstr "đồng nghĩa với --files-with-matches"
 
-#: builtin/grep.c:691
+#: builtin/grep.c:689
 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:693
+#: builtin/grep.c:691
 msgid "print NUL after filenames"
 msgstr "thêm NUL vào sau tên tập tin"
 
-#: builtin/grep.c:695
+#: builtin/grep.c:693
 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:696
+#: builtin/grep.c:694
 msgid "highlight matches"
 msgstr "tô sáng cái khớp"
 
-#: builtin/grep.c:698
+#: builtin/grep.c:696
 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:700
+#: builtin/grep.c:698
 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:703
+#: builtin/grep.c:701
 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:706
+#: builtin/grep.c:704
 msgid "show <n> context lines before matches"
 msgstr "hiển thị <n> dòng nội dung trước khớp"
 
-#: builtin/grep.c:708
+#: builtin/grep.c:706
 msgid "show <n> context lines after matches"
 msgstr "hiển thị <n> dòng nội dung sau khớp"
 
-#: builtin/grep.c:709
+#: builtin/grep.c:707
 msgid "shortcut for -C NUM"
 msgstr "dạng viết tắt của -C SỐ"
 
-#: builtin/grep.c:712
+#: builtin/grep.c:710
 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:714
+#: builtin/grep.c:712
 msgid "show the surrounding function"
 msgstr "hiển thị hàm bao quanh"
 
-#: builtin/grep.c:717
+#: builtin/grep.c:715
 msgid "read patterns from file"
 msgstr "đọc mẫu từ tập-tin"
 
-#: builtin/grep.c:719
+#: builtin/grep.c:717
 msgid "match <pattern>"
 msgstr "match <mẫu>"
 
-#: builtin/grep.c:721
+#: builtin/grep.c:719
 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:733
+#: builtin/grep.c:731
 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:735
+#: builtin/grep.c:733
 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:737
+#: builtin/grep.c:735
 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:741
+#: builtin/grep.c:739
 msgid "pager"
 msgstr "giấy"
 
-#: builtin/grep.c:741
+#: builtin/grep.c:739
 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:744
+#: builtin/grep.c:742
 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:745 builtin/show-ref.c:187
+#: builtin/grep.c:743 builtin/show-ref.c:187
 msgid "show usage"
 msgstr "hiển thị cách dùng"
 
-#: builtin/grep.c:812
+#: builtin/grep.c:810
 msgid "no pattern given."
 msgstr "chưa chỉ ra mẫu."
 
-#: builtin/grep.c:870
+#: builtin/grep.c:868
 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:893
+#: builtin/grep.c:891
 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:898
+#: builtin/grep.c:896
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr ""
 "--no-index hay --untracked không được sử dụng cùng với các tùy chọn liên "
 "quan đến revs."
 
-#: builtin/grep.c:901
+#: builtin/grep.c:899
 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:909
+#: builtin/grep.c:907
 msgid "both --cached and trees are given."
 msgstr "cả hai --cached và các cây phải được chỉ ra."
 
@@ -5768,7 +5697,7 @@ msgstr ""
 msgid "git hash-object  --stdin-paths < <list-of-paths>"
 msgstr "git hash-object  --stdin-paths < <danh-sách-đường-dẫn>"
 
-#: builtin/hash-object.c:72
+#: builtin/hash-object.c:72 builtin/tag.c:521
 msgid "type"
 msgstr "kiểu"
 
@@ -6007,8 +5936,8 @@ msgstr "sự mâu thuẫn xả nén nghiêm trọng"
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "SỰ VA CHẠM SHA1 ĐàXẢY RA VỚI %s!"
 
-#: builtin/index-pack.c:669 builtin/pack-objects.c:171
-#: builtin/pack-objects.c:263
+#: builtin/index-pack.c:669 builtin/pack-objects.c:162
+#: builtin/pack-objects.c:254
 #, c-format
 msgid "unable to read %s"
 msgstr "không thể đọc %s"
@@ -6274,63 +6203,61 @@ msgstr "không thể xử lý (handle) tập tin kiểu %d"
 msgid "unable to move %s to %s"
 msgstr "không di chuyển được %s vào %s"
 
-#.
-#. * TRANSLATORS: The first '%s' is either "Reinitialized
-#. * existing" or "Initialized empty", the second " shared" or
-#. * "", and the last '%s%s' is the verbatim directory name.
-#.
-#: builtin/init-db.c:420
+#. TRANSLATORS: The first '%s' is either "Reinitialized
+#. existing" or "Initialized empty", the second " shared" or
+#. "", and the last '%s%s' is the verbatim directory name.
+#: builtin/init-db.c:418
 #, c-format
 msgid "%s%s Git repository in %s%s\n"
 msgstr "%s%s kho Git trong %s%s\n"
 
-#: builtin/init-db.c:421
+#: builtin/init-db.c:419
 msgid "Reinitialized existing"
 msgstr "Khởi tạo lại đã sẵn có rồi"
 
-#: builtin/init-db.c:421
+#: builtin/init-db.c:419
 msgid "Initialized empty"
 msgstr "Khởi tạo trống rỗng"
 
-#: builtin/init-db.c:422
+#: builtin/init-db.c:420
 msgid " shared"
 msgstr " đã chia sẻ"
 
-#: builtin/init-db.c:441
+#: builtin/init-db.c:439
 msgid "cannot tell cwd"
 msgstr "không nói chuyện được với lệnh cwd"
 
-#: builtin/init-db.c:467
+#: builtin/init-db.c:465
 msgid ""
-"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
-"shared[=<permissions>]] [directory]"
+"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--shared"
+"[=<permissions>]] [directory]"
 msgstr ""
 "git init [-q | --quiet] [--bare] [--template=<thư-mục-tạm>] [--shared[=<các-"
 "quyền>]] [thư-mục]"
 
-#: builtin/init-db.c:490
+#: builtin/init-db.c:488
 msgid "permissions"
 msgstr "các quyền"
 
-#: builtin/init-db.c:491
+#: builtin/init-db.c:489
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr "chỉ ra cái mà kho git được chia sẻ giữa nhiều người dùng"
 
-#: builtin/init-db.c:493 builtin/prune-packed.c:79 builtin/repack.c:155
+#: builtin/init-db.c:491 builtin/prune-packed.c:79 builtin/repack.c:168
 msgid "be quiet"
 msgstr "im lặng"
 
-#: builtin/init-db.c:525 builtin/init-db.c:530
+#: builtin/init-db.c:523 builtin/init-db.c:528
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "không thể mkdir (tạo thư mục): %s"
 
-#: builtin/init-db.c:534
+#: builtin/init-db.c:532
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "không thể chdir (chuyển đổi thư mục) sang %s"
 
-#: builtin/init-db.c:556
+#: builtin/init-db.c:554
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
@@ -6339,11 +6266,11 @@ msgstr ""
 "%s (hoặc --work-tree=<thư-mục>) không cho phép không chỉ định %s (hoặc --git-"
 "dir=<thư-mục>)"
 
-#: builtin/init-db.c:580
+#: builtin/init-db.c:578
 msgid "Cannot access current working directory"
 msgstr "Không thể truy cập thư mục làm việc hiện hành"
 
-#: builtin/init-db.c:587
+#: builtin/init-db.c:585
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "không thể truy cập cây (tree) làm việc “%s”"
@@ -6609,98 +6536,98 @@ msgstr ""
 msgid "Unknown commit %s"
 msgstr "Không hiểu lần chuyển giao %s"
 
-#: builtin/ls-files.c:398
+#: builtin/ls-files.c:401
 msgid "git ls-files [options] [<file>...]"
 msgstr "git ls-files [các-tùy-chọn] [<tập-tin>...]"
 
-#: builtin/ls-files.c:455
+#: builtin/ls-files.c:458
 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:457
+#: builtin/ls-files.c:460
 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:459
+#: builtin/ls-files.c:462
 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:461
+#: builtin/ls-files.c:464
 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:463
+#: builtin/ls-files.c:466
 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:465
+#: builtin/ls-files.c:468
 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:467
+#: builtin/ls-files.c:470
 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:470
+#: builtin/ls-files.c:473
 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:472
+#: builtin/ls-files.c:475
 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:474
+#: builtin/ls-files.c:477
 msgid "show 'other' directories' name only"
 msgstr "chỉ hiển thị tên của các thư mục “khác”"
 
-#: builtin/ls-files.c:477
+#: builtin/ls-files.c:480
 msgid "don't show empty directories"
 msgstr "không hiển thị thư mục rỗng"
 
-#: builtin/ls-files.c:480
+#: builtin/ls-files.c:483
 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:482
+#: builtin/ls-files.c:485
 msgid "show resolve-undo information"
 msgstr "hiển thị thông tin resolve-undo"
 
-#: builtin/ls-files.c:484
+#: builtin/ls-files.c:487
 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:487
+#: builtin/ls-files.c:490
 msgid "exclude patterns are read from <file>"
 msgstr "mẫu loại trừ được đọc từ <tập tin>"
 
-#: builtin/ls-files.c:490
+#: builtin/ls-files.c:493
 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:492
+#: builtin/ls-files.c:495
 msgid "add the standard git exclusions"
 msgstr "thêm loại trừ tiêu chuẩn kiểu git"
 
-#: builtin/ls-files.c:495
+#: builtin/ls-files.c:498
 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:498
+#: builtin/ls-files.c:501
 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:499
+#: builtin/ls-files.c:502
 msgid "tree-ish"
 msgstr "tree-ish"
 
-#: builtin/ls-files.c:500
+#: builtin/ls-files.c:503
 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:502
+#: builtin/ls-files.c:505
 msgid "show debugging data"
 msgstr "hiển thị dữ liệu gỡ lỗi"
 
@@ -6811,7 +6738,7 @@ msgstr "bỏ qua nếu fast-forward không thể được"
 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:212 builtin/notes.c:738 builtin/revert.c:89
+#: builtin/merge.c:212 builtin/notes.c:742 builtin/revert.c:89
 msgid "strategy"
 msgstr "chiến lược"
 
@@ -6885,37 +6812,37 @@ msgstr "“%s” không chỉ đến một lần chuyển giao nào cả"
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Chuỗi branch.%s.mergeoptions sai: %s"
 
-#: builtin/merge.c:650
+#: builtin/merge.c:653
 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"
 
-#: builtin/merge.c:678
+#: builtin/merge.c:681
 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:692
+#: builtin/merge.c:695
 #, 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:706
+#: builtin/merge.c:709
 #, c-format
 msgid "unable to write %s"
 msgstr "không thể ghi %s"
 
-#: builtin/merge.c:795
+#: builtin/merge.c:798
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Không thể đọc từ “%s”"
 
-#: builtin/merge.c:804
+#: builtin/merge.c:807
 #, 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:810
+#: builtin/merge.c:813
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -6933,50 +6860,50 @@ msgstr ""
 "rỗng\n"
 "sẽ hủy bỏ lần chuyển giao.\n"
 
-#: builtin/merge.c:834
+#: builtin/merge.c:837
 msgid "Empty commit message."
 msgstr "Chú thích của lần commit (chuyển giao) bị trống rỗng."
 
-#: builtin/merge.c:846
+#: builtin/merge.c:849
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Thần kỳ.\n"
 
-#: builtin/merge.c:911
+#: builtin/merge.c:914
 #, 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:927
+#: builtin/merge.c:930
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "%s không phải là một lần commit (chuyển giao)"
 
-#: builtin/merge.c:968
+#: builtin/merge.c:971
 msgid "No current branch."
 msgstr "không phải nhánh hiện hành"
 
-#: builtin/merge.c:970
+#: builtin/merge.c:973
 msgid "No remote for the current branch."
 msgstr "Không có máy chủ cho nhánh hiện hành."
 
-#: builtin/merge.c:972
+#: builtin/merge.c:975
 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:977
+#: builtin/merge.c:980
 #, 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:1133
+#: builtin/merge.c:1136
 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:1149 git-pull.sh:31
+#: builtin/merge.c:1152 git-pull.sh:31
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you can merge."
@@ -6984,11 +6911,11 @@ msgstr ""
 "Bạn chưa kết thúc việc hòa trộng (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:1152 git-pull.sh:34
+#: builtin/merge.c:1155 git-pull.sh:34
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Bạn chưa kết thúc việc hòa trộng (MERGE_HEAD vẫn tồn tại)."
 
-#: builtin/merge.c:1156
+#: builtin/merge.c:1159
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you can merge."
@@ -6996,104 +6923,103 @@ 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:1159
+#: builtin/merge.c:1162
 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:1168
+#: builtin/merge.c:1171
 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:1177
+#: builtin/merge.c:1180
 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:1209
+#: builtin/merge.c:1212
 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:1212
+#: builtin/merge.c:1215
 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:1214
+#: builtin/merge.c:1217
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr ""
 "Chuyển giao không-fast-forward không hợp lý ở trong một head trống rỗng"
 
-#: builtin/merge.c:1219
+#: builtin/merge.c:1222
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - không phải là một số thứ chúng tôi có thể hòa trộn"
 
-#: builtin/merge.c:1270
+#: builtin/merge.c:1273
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr ""
 "Lần chuyển giao %s có một chữ ký GPG không đáng tin, được cho là bởi %s."
 
-#: builtin/merge.c:1273
+#: builtin/merge.c:1276
 #, 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."
 
-#. 'N'
-#: builtin/merge.c:1276
+#: builtin/merge.c:1279
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "Lần chuyển giao %s không có chữ ký GPG."
 
-#: builtin/merge.c:1279
+#: builtin/merge.c:1282
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "Lần chuyển giao %s có một chữ ký GPG tốt bởi %s\n"
 
-#: builtin/merge.c:1363
+#: builtin/merge.c:1366
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Đang cập nhật %s..%s\n"
 
-#: builtin/merge.c:1402
+#: builtin/merge.c:1405
 #, 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:1409
+#: builtin/merge.c:1412
 #, c-format
 msgid "Nope.\n"
 msgstr "Không.\n"
 
-#: builtin/merge.c:1441
+#: builtin/merge.c:1444
 msgid "Not possible to fast-forward, aborting."
 msgstr "Thực hiện lệnh fast-forward là không thể được, đang bỏ qua."
 
-#: builtin/merge.c:1464 builtin/merge.c:1543
+#: builtin/merge.c:1467 builtin/merge.c:1546
 #, 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:1468
+#: builtin/merge.c:1471
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Đang thử chiến lược hòa trộn %s...\n"
 
-#: builtin/merge.c:1534
+#: builtin/merge.c:1537
 #, 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:1536
+#: builtin/merge.c:1539
 #, 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:1545
+#: builtin/merge.c:1548
 #, 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:1557
+#: builtin/merge.c:1560
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -7180,19 +7106,19 @@ msgstr "không cảnh báo về các xung đột xảy ra"
 msgid "set labels for file1/orig_file/file2"
 msgstr "đặt nhãn cho tập-tin-1/tập-tin-gốc/tập-tin-2"
 
-#: builtin/mktree.c:67
+#: builtin/mktree.c:64
 msgid "git mktree [-z] [--missing] [--batch]"
 msgstr "git mktree [-z] [--missing] [--batch]"
 
-#: builtin/mktree.c:153
+#: builtin/mktree.c:150
 msgid "input is NUL terminated"
 msgstr "đầu vào được chấm dứt bởi NUL"
 
-#: builtin/mktree.c:154 builtin/write-tree.c:24
+#: builtin/mktree.c:151 builtin/write-tree.c:24
 msgid "allow missing objects"
 msgstr "cho phép thiếu đối tượng"
 
-#: builtin/mktree.c:155
+#: builtin/mktree.c:152
 msgid "allow creation of more than one tree"
 msgstr "cho phép tạo nhiều hơn một cây"
 
@@ -7241,46 +7167,46 @@ msgstr ""
 msgid "Huh? %.*s is in index?"
 msgstr "Hả? %.*s trong bảng mục lục à?"
 
-#: builtin/mv.c:168
+#: builtin/mv.c:169
 msgid "source directory is empty"
 msgstr "thư mục nguồn là trống rỗng"
 
-#: builtin/mv.c:200
+#: builtin/mv.c:205
 msgid "not under version control"
 msgstr "không nằm dưới sự quản lý mã nguồn"
 
-#: builtin/mv.c:202
+#: builtin/mv.c:207
 msgid "destination exists"
 msgstr "đích đã tồn tại sẵn rồi"
 
-#: builtin/mv.c:210
+#: builtin/mv.c:215
 #, c-format
 msgid "overwriting '%s'"
 msgstr "đang ghi đè lên “%s”"
 
-#: builtin/mv.c:213
+#: builtin/mv.c:218
 msgid "Cannot overwrite"
 msgstr "Không thể ghi đè"
 
-#: builtin/mv.c:216
+#: builtin/mv.c:221
 msgid "multiple sources for the same target"
 msgstr "Nhiều nguồn cho cùng một đích"
 
-#: builtin/mv.c:218
+#: builtin/mv.c:223
 msgid "destination directory does not exist"
 msgstr "thư mục đích không tồn tại"
 
-#: builtin/mv.c:233
+#: builtin/mv.c:243
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s, nguồn=%s, đích=%s"
 
-#: builtin/mv.c:243
+#: builtin/mv.c:253
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Đổi tên %s thành %s\n"
 
-#: builtin/mv.c:246 builtin/remote.c:726 builtin/repack.c:328
+#: builtin/mv.c:256 builtin/remote.c:726 builtin/repack.c:355
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "gặp lỗi khi đổi tên “%s”"
@@ -7450,7 +7376,7 @@ msgstr "không thể đọc kết xuất “show”"
 msgid "failed to finish 'show' for object '%s'"
 msgstr "gặp lỗi khi hoàn thành “show” cho đối tượng “%s”"
 
-#: builtin/notes.c:167 builtin/tag.c:341
+#: builtin/notes.c:167 builtin/tag.c:373
 #, c-format
 msgid "could not create file '%s'"
 msgstr "không thể tạo tập tin “%s”"
@@ -7460,7 +7386,7 @@ msgid "Please supply the note contents using either -m or -F option"
 msgstr ""
 "Xin hãy áp dụng nội dung của ghi chú sử dụng hoặc là tùy chọn -m hoặc là -F"
 
-#: builtin/notes.c:207 builtin/notes.c:844
+#: builtin/notes.c:207 builtin/notes.c:848
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr "Đang gỡ bỏ ghi chú (note) cho đối tượng %s\n"
@@ -7474,20 +7400,20 @@ msgstr "không thể ghi đối tượng ghi chú (note)"
 msgid "The note contents has been left in %s"
 msgstr "Nội dung ghi chú còn lại %s"
 
-#: builtin/notes.c:248 builtin/tag.c:537
+#: builtin/notes.c:248 builtin/tag.c:604
 #, c-format
 msgid "cannot read '%s'"
 msgstr "không thể đọc “%s”"
 
-#: builtin/notes.c:250 builtin/tag.c:540
+#: builtin/notes.c:250 builtin/tag.c:607
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "không thể mở hay đọc “%s”"
 
-#: builtin/notes.c:269 builtin/notes.c:316 builtin/notes.c:318
-#: builtin/notes.c:378 builtin/notes.c:432 builtin/notes.c:515
-#: builtin/notes.c:520 builtin/notes.c:595 builtin/notes.c:637
-#: builtin/notes.c:839 builtin/tag.c:553
+#: builtin/notes.c:269 builtin/notes.c:320 builtin/notes.c:322
+#: builtin/notes.c:382 builtin/notes.c:436 builtin/notes.c:519
+#: builtin/notes.c:524 builtin/notes.c:599 builtin/notes.c:641
+#: builtin/notes.c:843 builtin/tag.c:620
 #, 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 (ref) hợp lệ."
@@ -7497,53 +7423,58 @@ msgstr "Gặp lỗi khi phân giải “%s” như là một tham chiếu (ref)
 msgid "Failed to read object '%s'."
 msgstr "Gặp lỗi khi đọc đối tượng “%s”."
 
-#: builtin/notes.c:312
+#: builtin/notes.c:276
+#, c-format
+msgid "Cannot read note data from non-blob object '%s'."
+msgstr "không thể đọc dữ liệu ghi chú từ đối tượng không-blob '%s'."
+
+#: builtin/notes.c:316
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Dòng đầu vào dị hình: “%s”."
 
-#: builtin/notes.c:327
+#: builtin/notes.c:331
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "Gặp lỗi khi sao chép ghi chú (note) từ “%s” tới “%s”"
 
-#: builtin/notes.c:371 builtin/notes.c:425 builtin/notes.c:498
-#: builtin/notes.c:510 builtin/notes.c:583 builtin/notes.c:630
-#: builtin/notes.c:904
+#: builtin/notes.c:375 builtin/notes.c:429 builtin/notes.c:502
+#: builtin/notes.c:514 builtin/notes.c:587 builtin/notes.c:634
+#: builtin/notes.c:908
 msgid "too many parameters"
 msgstr "quá nhiều đối số"
 
-#: builtin/notes.c:384 builtin/notes.c:643
+#: builtin/notes.c:388 builtin/notes.c:647
 #, c-format
 msgid "No note found for object %s."
 msgstr "không tìm thấy ghi chú cho đối tượng %s."
 
-#: builtin/notes.c:406 builtin/notes.c:563
+#: builtin/notes.c:410 builtin/notes.c:567
 msgid "note contents as a string"
 msgstr "nội dung ghi chú (note) nằm trong một chuỗi"
 
-#: builtin/notes.c:409 builtin/notes.c:566
+#: builtin/notes.c:413 builtin/notes.c:570
 msgid "note contents in a file"
 msgstr "nội dung ghi chú (note) nằm trong một tập tin"
 
-#: builtin/notes.c:411 builtin/notes.c:414 builtin/notes.c:568
-#: builtin/notes.c:571 builtin/tag.c:474
+#: builtin/notes.c:415 builtin/notes.c:418 builtin/notes.c:572
+#: builtin/notes.c:575 builtin/tag.c:539
 msgid "object"
 msgstr "đối tượng"
 
-#: builtin/notes.c:412 builtin/notes.c:569
+#: builtin/notes.c:416 builtin/notes.c:573
 msgid "reuse and edit specified note object"
 msgstr "dùng lại nhưng có sửa chữa đối tượng note đã chỉ ra"
 
-#: builtin/notes.c:415 builtin/notes.c:572
+#: builtin/notes.c:419 builtin/notes.c:576
 msgid "reuse specified note object"
 msgstr "dùng lại đối tượng ghi chú (note) đã chỉ ra"
 
-#: builtin/notes.c:417 builtin/notes.c:485
+#: builtin/notes.c:421 builtin/notes.c:489
 msgid "replace existing notes"
 msgstr "thay thế ghi chú trước"
 
-#: builtin/notes.c:451
+#: builtin/notes.c:455
 #, c-format
 msgid ""
 "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -7552,24 +7483,24 @@ msgstr ""
 "Không thể thêm các ghi chú. Đã tìm thấy các ghi chú đã có sẵn cho đối tượng "
 "%s. Sử dụng tùy chọn “-f” để ghi đè lên các ghi chú cũ"
 
-#: builtin/notes.c:456 builtin/notes.c:533
+#: builtin/notes.c:460 builtin/notes.c:537
 #, c-format
 msgid "Overwriting existing notes for object %s\n"
 msgstr "Đang ghi đè lên ghi chú cũ cho đối tượng %s\n"
 
-#: builtin/notes.c:486
+#: builtin/notes.c:490
 msgid "read objects from stdin"
 msgstr "đọc các đối tượng từ đầu vào tiêu chuẩn"
 
-#: builtin/notes.c:488
+#: builtin/notes.c:492
 msgid "load rewriting config for <command> (implies --stdin)"
 msgstr "tải cấu hình chép lại cho <lệnh> (ngầm định là --stdin)"
 
-#: builtin/notes.c:506
+#: builtin/notes.c:510
 msgid "too few parameters"
 msgstr "quá ít đối số"
 
-#: builtin/notes.c:527
+#: builtin/notes.c:531
 #, c-format
 msgid ""
 "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -7578,12 +7509,12 @@ msgstr ""
 "Không thể sao chép các ghi chú. Đã tìm thấy các ghi chú đã có sẵn cho đối "
 "tượng %s. Sử dụng tùy chọn “-f” để ghi đè lên các ghi chú cũ"
 
-#: builtin/notes.c:539
+#: builtin/notes.c:543
 #, c-format
 msgid "Missing notes on source object %s. Cannot copy."
 msgstr "Thiếu ghi chú trên đối tượng nguồn %s. Không thể sao chép."
 
-#: builtin/notes.c:588
+#: builtin/notes.c:592
 #, c-format
 msgid ""
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -7592,15 +7523,15 @@ msgstr ""
 "Các tùy chọn -m/-F/-c/-C đã cổ không còn dùng nữa cho lệnh con “edit”.\n"
 "Xin hãy sử dụng lệnh sau để thay thế: “git notes add -f -m/-F/-c/-C”.\n"
 
-#: builtin/notes.c:735
+#: builtin/notes.c:739
 msgid "General options"
 msgstr "Tùy chọn chung"
 
-#: builtin/notes.c:737
+#: builtin/notes.c:741
 msgid "Merge options"
 msgstr "Tùy chọn về hòa trộn"
 
-#: builtin/notes.c:739
+#: builtin/notes.c:743
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
@@ -7608,208 +7539,232 @@ msgstr ""
 "phân giải các xung đột “notes” sử dụng chiến lược đã đưa ra (manual/ours/"
 "theirs/union/cat_sort_uniq)"
 
-#: builtin/notes.c:741
+#: builtin/notes.c:745
 msgid "Committing unmerged notes"
 msgstr "Chuyển giao các note chưa được hòa trộn"
 
-#: builtin/notes.c:743
+#: builtin/notes.c:747
 msgid "finalize notes merge by committing unmerged notes"
 msgstr ""
 "các note cuối cùng được hòa trộn bởi các note chưa hòa trộn của lần chuyển "
 "giao"
 
-#: builtin/notes.c:745
+#: builtin/notes.c:749
 msgid "Aborting notes merge resolution"
 msgstr "Hủy bỏ phân giải ghi chú (note) hòa trộn"
 
-#: builtin/notes.c:747
+#: builtin/notes.c:751
 msgid "abort notes merge"
 msgstr "bỏ qua hòa trộn các ghi chú (note)"
 
-#: builtin/notes.c:842
+#: builtin/notes.c:846
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "Đối tượng %s không có ghi chú (note)\n"
 
-#: builtin/notes.c:854
+#: builtin/notes.c:858
 msgid "attempt to remove non-existent note is not an error"
 msgstr "cố gắng gỡ bỏ một note chưa từng tồn tại không phải là một lỗi"
 
-#: builtin/notes.c:857
+#: builtin/notes.c:861
 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:938
-msgid "notes_ref"
-msgstr "notes_ref"
+#: builtin/notes.c:942
+msgid "notes-ref"
+msgstr "notes-ref"
 
-#: builtin/notes.c:939
+#: builtin/notes.c:943
 msgid "use notes from <notes_ref>"
 msgstr "dùng “notes” từ <notes_ref>"
 
-#: builtin/notes.c:974 builtin/remote.c:1593
+#: builtin/notes.c:978 builtin/remote.c:1593
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "Không hiểu câu lệnh con: %s"
 
-#: builtin/pack-objects.c:23
+#: builtin/pack-objects.c:25
 msgid "git pack-objects --stdout [options...] [< ref-list | < object-list]"
 msgstr ""
 "git pack-objects --stdout [các-tùy-chọn...] [< danh-sách-ref | < danh-sách-"
 "đối-tượng]"
 
-#: builtin/pack-objects.c:24
+#: builtin/pack-objects.c:26
 msgid "git pack-objects [options...] base-name [< ref-list | < object-list]"
 msgstr ""
 "git pack-objects [các-tùy-chọn...] base-name [< danh-sách-ref | < danh-sách-"
 "đối-tượng]"
 
-#: builtin/pack-objects.c:184 builtin/pack-objects.c:187
+#: builtin/pack-objects.c:175 builtin/pack-objects.c:178
 #, c-format
 msgid "deflate error (%d)"
 msgstr "lỗi giải nén (%d)"
 
-#: builtin/pack-objects.c:2396
+#: builtin/pack-objects.c:771
+msgid "Writing objects"
+msgstr "Đang ghi lại các đối tượng"
+
+#: builtin/pack-objects.c:1012
+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:2174
+msgid "Compressing objects"
+msgstr "Đang nén các đối tượng"
+
+#: builtin/pack-objects.c:2530
 #, 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:2400
+#: builtin/pack-objects.c:2534
 #, c-format
 msgid "bad index version '%s'"
 msgstr "phiên bản mục lục sai “%s”"
 
-#: builtin/pack-objects.c:2423
+#: builtin/pack-objects.c:2557
 #, c-format
 msgid "option %s does not accept negative form"
 msgstr "tùy chọn %s không chấp nhận dạng thức âm"
 
-#: builtin/pack-objects.c:2427
+#: builtin/pack-objects.c:2561
 #, c-format
 msgid "unable to parse value '%s' for option %s"
 msgstr "không thể phân tích giá trị “%s” cho tùy chọn %s"
 
-#: builtin/pack-objects.c:2446
+#: builtin/pack-objects.c:2580
 msgid "do not show progress meter"
 msgstr "không hiển thị bộ đo tiến trình"
 
-#: builtin/pack-objects.c:2448
+#: builtin/pack-objects.c:2582
 msgid "show progress meter"
 msgstr "hiển thị bộ đo tiến trình"
 
-#: builtin/pack-objects.c:2450
+#: builtin/pack-objects.c:2584
 msgid "show progress meter during object writing phase"
 msgstr "hiển thị bộ đo tiến triển trong suốt pha ghi đối tượng"
 
-#: builtin/pack-objects.c:2453
+#: builtin/pack-objects.c:2587
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "tương tự --all-progress khi bộ đo tiến trình được xuất hiện"
 
-#: builtin/pack-objects.c:2454
+#: builtin/pack-objects.c:2588
 msgid "version[,offset]"
 msgstr "phiên bản[,offset]"
 
-#: builtin/pack-objects.c:2455
+#: builtin/pack-objects.c:2589
 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:2458
+#: builtin/pack-objects.c:2592
 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:2460
+#: builtin/pack-objects.c:2594
 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:2462
+#: builtin/pack-objects.c:2596
 msgid "ignore packed objects"
 msgstr "bỏ qua các đối tượng đóng gói"
 
-#: builtin/pack-objects.c:2464
+#: builtin/pack-objects.c:2598
 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:2466
+#: builtin/pack-objects.c:2600
 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:2468
+#: builtin/pack-objects.c:2602
 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:2470
+#: builtin/pack-objects.c:2604
 msgid "reuse existing deltas"
 msgstr "dùng lại các delta sẵn có"
 
-#: builtin/pack-objects.c:2472
+#: builtin/pack-objects.c:2606
 msgid "reuse existing objects"
 msgstr "dùng lại các đối tượng sẵn có"
 
-#: builtin/pack-objects.c:2474
+#: builtin/pack-objects.c:2608
 msgid "use OFS_DELTA objects"
 msgstr "dùng các đối tượng OFS_DELTA"
 
-#: builtin/pack-objects.c:2476
+#: builtin/pack-objects.c:2610
 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:2478
+#: builtin/pack-objects.c:2612
 msgid "do not create an empty pack output"
 msgstr "không thể tạo kết xuất gói (pack) trống rỗng"
 
-#: builtin/pack-objects.c:2480
+#: builtin/pack-objects.c:2614
 msgid "read revision arguments from standard input"
 msgstr " đọc tham số “revision” từ thiết bị nhập chuẩn"
 
-#: builtin/pack-objects.c:2482
+#: builtin/pack-objects.c:2616
 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:2485
+#: builtin/pack-objects.c:2619
 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:2488
+#: builtin/pack-objects.c:2622
 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:2491
+#: builtin/pack-objects.c:2625
 msgid "output pack to stdout"
 msgstr "xuất gói ra đầu ra tiêu chuẩn"
 
-#: builtin/pack-objects.c:2493
+#: builtin/pack-objects.c:2627
 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:2495
+#: builtin/pack-objects.c:2629
 msgid "keep unreachable objects"
 msgstr "giữ lại các đối tượng không thể đọc được"
 
-#: builtin/pack-objects.c:2496 parse-options.h:143
+#: builtin/pack-objects.c:2630 parse-options.h:140
 msgid "time"
 msgstr "thời-gian"
 
-#: builtin/pack-objects.c:2497
+#: builtin/pack-objects.c:2631
 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:2500
+#: builtin/pack-objects.c:2634
 msgid "create thin packs"
 msgstr "tạo gói nhẹ"
 
-#: builtin/pack-objects.c:2502
+#: builtin/pack-objects.c:2636
 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:2504
+#: builtin/pack-objects.c:2638
 msgid "pack compression level"
 msgstr "mức nén gói"
 
-#: builtin/pack-objects.c:2506
+#: builtin/pack-objects.c:2640
 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:2642
+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:2644
+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:2723
+msgid "Counting objects"
+msgstr "Đang đếm các đối tượng"
+
 #: builtin/pack-refs.c:6
 msgid "git pack-refs [options]"
 msgstr "git pack-refs [các-tùy-chọn]"
@@ -7826,6 +7781,10 @@ msgstr "prune (cắt cụt) những tham chiếu (refs) bị mất (mặc địn
 msgid "git prune-packed [-n|--dry-run] [-q|--quiet]"
 msgstr "git prune-packed [-n|--dry-run] [-q|--quiet]"
 
+#: builtin/prune-packed.c:49
+msgid "Removing duplicate objects"
+msgstr "Đang gỡ các đối tượng trùng lặp"
+
 #: builtin/prune.c:12
 msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--expire <thời-gian>] [--] [<head>...]"
@@ -7846,15 +7805,15 @@ msgstr "các đối tượng hết hạn cũ hơn khoảng <thời gian>"
 msgid "git push [<options>] [<repository> [<refspec>...]]"
 msgstr "git push [<các-tùy-chọn>] [<kho-chứa> [<refspec>...]]"
 
-#: builtin/push.c:86
+#: builtin/push.c:85
 msgid "tag shorthand without <tag>"
 msgstr "dùng tốc ký tag không có <thẻ>"
 
-#: builtin/push.c:96
+#: builtin/push.c:95
 msgid "--delete only accepts plain target ref names"
 msgstr "--delete chỉ chấp nhận các tên tham chiếu (ref) dạng thường"
 
-#: builtin/push.c:141
+#: builtin/push.c:140
 msgid ""
 "\n"
 "To choose either option permanently, see push.default in 'git help config'."
@@ -7863,7 +7822,7 @@ msgstr ""
 "Để chọn mỗi tùy chọn một cách cố định, xem push.default trong “git help "
 "config”."
 
-#: builtin/push.c:144
+#: builtin/push.c:143
 #, c-format
 msgid ""
 "The upstream branch of your current branch does not match\n"
@@ -7888,7 +7847,7 @@ msgstr ""
 "    git push %s %s\n"
 "%s"
 
-#: builtin/push.c:159
+#: builtin/push.c:158
 #, c-format
 msgid ""
 "You are not currently on a branch.\n"
@@ -7903,7 +7862,7 @@ msgstr ""
 "\n"
 "    git push %s HEAD:<tên-của-nhánh-máy-chủ>\n"
 
-#: builtin/push.c:173
+#: builtin/push.c:172
 #, c-format
 msgid ""
 "The current branch %s has no upstream branch.\n"
@@ -7917,12 +7876,12 @@ msgstr ""
 "\n"
 "    git push --set-upstream %s %s\n"
 
-#: builtin/push.c:181
+#: builtin/push.c:180
 #, c-format
 msgid "The current branch %s has multiple upstream branches, refusing to push."
 msgstr "Nhánh hiện tại %s có nhiều nhánh thượng nguồn, từ chối push."
 
-#: builtin/push.c:184
+#: builtin/push.c:183
 #, c-format
 msgid ""
 "You are pushing to remote '%s', which is not the upstream of\n"
@@ -7934,11 +7893,11 @@ msgstr ""
 "nhánh hiện tại “%s” của bạn, mà không báo cho tôi biết là cái gì được push\n"
 "để cập nhật nhánh máy chủ nào."
 
-#: builtin/push.c:207
+#: builtin/push.c:206
 msgid ""
-"push.default is unset; its implicit value is changing in\n"
+"push.default is unset; its implicit value has changed in\n"
 "Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
-"and maintain the current behavior after the default changes, use:\n"
+"and maintain the traditional behavior, use:\n"
 "\n"
 "  git config --global push.default matching\n"
 "\n"
@@ -7949,7 +7908,7 @@ msgid ""
 "When push.default is set to 'matching', git will push local branches\n"
 "to the remote branches that already exist with the same name.\n"
 "\n"
-"In Git 2.0, Git will default to the more conservative 'simple'\n"
+"Since Git 2.0, Git defaults to the more conservative 'simple'\n"
 "behavior, which only pushes the current branch to the corresponding\n"
 "remote branch that 'git pull' uses to update the current branch.\n"
 "\n"
@@ -7960,9 +7919,7 @@ msgid ""
 msgstr ""
 "biến push.default chưa được đặt; giá trị ngầm định của nó\n"
 "đã được thay đổi trong Git 2.0 từ “matching” thành “simple”.\n"
-"Để không hiển thị nhắc nhở này và duy trì cách xử lý hiện nay sau thay đổi "
-"mặc định,\n"
-"hãy chạy lệnh:\n"
+"Để không hiển thị nhắc nhở này và duy trì cách xử lý cũ, hãy chạy lệnh:\n"
 "\n"
 "  git config --global push.default matching\n"
 "\n"
@@ -7971,7 +7928,7 @@ msgstr ""
 "  git config --global push.default simple\n"
 "\n"
 "Khi push.default được đặt thành “matching”, git sẽ đẩy các nhánh nội bộ\n"
-"lên các nhánh trên máy chủ, cái mà  cùng tên.\n"
+"lên các nhánh trên máy chủ, cái mà đã sẵn có và cùng tên.\n"
 "\n"
 "Trong 2.0, Git sẽ mặc định duy trì các ứng xử “simple”,\n"
 "cái này chỉ đẩy những nhánh hiện hành lên các nhánh tương ứng\n"
@@ -7982,57 +7939,40 @@ msgstr ""
 "tự\n"
 "“current” thay vì “simple” nếu bạn thỉnh thoảng phải sử dụng bản Git cũ)"
 
-#: builtin/push.c:274
+#: builtin/push.c:273
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr ""
 "Bạn đã không chỉ ra một refspecs nào để push, và push.default là \"không là "
 "gì cả\"."
 
-#: builtin/push.c:281
+#: builtin/push.c:280
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
 "'git pull ...') before pushing again.\n"
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
-"Việc cập nhật bị từ chối bởi vì đầu mút của nhánh được push nằm đằng sau bộ\n"
-"phận tương ứng của máy chủ. Hòa trộn với các thay đổi từ máy chủ (v.d. “git "
-"pull...”)\n"
-"trước khi lại push lần nữa.\n"
-"Xem “Note about fast-forwards” từ lệnh “git push --help” để có thông tin chi "
+"Việc cập nhật bị từ chối bởi vì đầu mút của nhánh hiện tại của bạn nằm đằng\n"
+"sau bộ phận tương ứng của máy chủ. Hòa trộn với các thay đổi từ máy chủ\n"
+"(v.d. \"git pull ...\") trước khi đẩy lên lần nữa.\n"
+"Xem “Note about fast-forwards” trong “git push --help” để có thông tin chi "
 "tiết."
 
-#: builtin/push.c:287
-msgid ""
-"Updates were rejected because a pushed branch tip is behind its remote\n"
-"counterpart. If you did not intend to push that branch, you may want to\n"
-"specify branches to push or set the 'push.default' configuration variable\n"
-"to 'simple', 'current' or 'upstream' to push only the current branch."
-msgstr ""
-"Việc cập nhật bị từ chối bởi vì đầu mút của nhánh được push nằm đằng sau bộ\n"
-"phận tương ứng của máy chủ. Nếu bạn không có ý định push nhánh đó, bạn có lẽ "
-"muốn\n"
-"chỉ định các nhánh để push hoặt là đặt nội dung cho biến cấu hình “push."
-"default”\n"
-"thành “simple”, “current” hoặc “upstream” để chỉ push nhánh hiện hành mà "
-"thôi."
-
-#: builtin/push.c:293
+#: builtin/push.c:286
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. Check out this branch and integrate the remote changes\n"
 "(e.g. 'git pull ...') before pushing again.\n"
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
-"Việc cập nhật bị từ chối bởi vì đầu mút của nhánh được push nằm đằng sau bộ\n"
-"phận tương ứng của máy chủ. Checkou nhánh này và hòa trộn với các thay đổi "
-"từ máy chủ\n"
-"(v.d. “git pull ...”) trước khi lại push lần nữa.\n"
-"Xem “Note about fast-forwards” từ lệnh “git push --help” để có thông tin chi "
+"Việc cập nhật bị từ chối bởi vì đầu mút của nhánh đã push nằm đằng sau bộ\n"
+"phận tương ứng của máy chủ. Checkou nhánh này và hòa trộn với các thay đổi\n"
+"từ máy chủ (v.d. “git pull ...”) trước khi lại push lần nữa.\n"
+"Xem “Note about fast-forwards” trong “git push --help” để có thông tin chi "
 "tiết."
 
-#: builtin/push.c:299
+#: builtin/push.c:292
 msgid ""
 "Updates were rejected because the remote contains work that you do\n"
 "not have locally. This is usually caused by another repository pushing\n"
@@ -8043,15 +7983,15 @@ msgstr ""
 "Việc cập nhật bị từ chối bởi vì máy chủ có chứa công việc mà bạn không\n"
 "có ở máy nội bộ của mình. Lỗi này thường có nguyên nhân bởi kho khác đẩy\n"
 "dữ liệu lên cùng một tham chiếu. Bạn có lẽ muốn hòa trộn với các thay đổi\n"
-"từ máy chủ(v.d. “git pull...”) trước khi lại push lần nữa.\n"
-"Xem “Note about fast-forwards” từ lệnh “git push --help” để có thông tin chi "
+"từ máy chủ (v.d. “git pull...”) trước khi lại push lần nữa.\n"
+"Xem “Note about fast-forwards” trong “git push --help” để có thông tin chi "
 "tiết."
 
-#: builtin/push.c:306
+#: builtin/push.c:299
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr "Việc cập nhật bị từ chối bởi vì thẻ đã sẵn có từ trước trên máy chủ."
 
-#: builtin/push.c:309
+#: builtin/push.c:302
 msgid ""
 "You cannot update a remote ref that points at a non-commit object,\n"
 "or update a remote ref to make it point at a non-commit object,\n"
@@ -8059,26 +7999,26 @@ msgid ""
 msgstr ""
 "Không thể cập nhật một tham chiếu trên máy chủ mà nó chỉ đến đối tượng "
 "không\n"
-"phải chuyển giao, hoặc cập nhật một tham chiếu máy chủ để nó chỉ đến đối "
-"tượng\n"
+"phải là lần chuyển giao, hoặc cập nhật một tham chiếu máy chủ để nó chỉ đến "
+"đối tượng\n"
 "không phải chuyển giao, mà không sử dụng tùy chọn “--force”.\n"
 
-#: builtin/push.c:375
+#: builtin/push.c:361
 #, c-format
 msgid "Pushing to %s\n"
-msgstr "Đang push (đẩy) lên %s\n"
+msgstr "Đang đẩy lên %s\n"
 
-#: builtin/push.c:379
+#: builtin/push.c:365
 #, c-format
 msgid "failed to push some refs to '%s'"
-msgstr "gặp lỗi khi push (đẩy lên) một số tham chiếu (ref) đến “%s”"
+msgstr "gặp lỗi khi đẩy tới một số tham chiếu (ref) đến “%s”"
 
-#: builtin/push.c:412
+#: builtin/push.c:395
 #, c-format
 msgid "bad repository '%s'"
 msgstr "repository (kho) sai “%s”"
 
-#: builtin/push.c:413
+#: builtin/push.c:396
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -8090,7 +8030,7 @@ msgid ""
 "\n"
 "    git push <name>\n"
 msgstr ""
-"Chưa cấu hình đích để push (đẩy lên).\n"
+"Chưa cấu hình đích để đẩy lên.\n"
 "Hoặc là chỉ ra URL từ dòng lệnh hoặc là cấu hình một kho máy chủ sử dụng\n"
 "\n"
 "    git remote add <tên> <url>\n"
@@ -8099,95 +8039,95 @@ msgstr ""
 "\n"
 "    git push <tên>\n"
 
-#: builtin/push.c:428
+#: builtin/push.c:411
 msgid "--all and --tags are incompatible"
 msgstr "--all và --tags xung khắc nhau"
 
-#: builtin/push.c:429
+#: builtin/push.c:412
 msgid "--all can't be combined with refspecs"
 msgstr "--all không thể được tổ hợp cùng với đặc tả đường dẫn"
 
-#: builtin/push.c:434
+#: builtin/push.c:417
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror và --tags xung khắc nhau"
 
-#: builtin/push.c:435
+#: builtin/push.c:418
 msgid "--mirror can't be combined with refspecs"
 msgstr "--mirror không thể được tổ hợp cùng với đặc tả đường dẫn"
 
-#: builtin/push.c:440
+#: builtin/push.c:423
 msgid "--all and --mirror are incompatible"
 msgstr "--all và --mirror xung khắc nhau"
 
-#: builtin/push.c:500
+#: builtin/push.c:483
 msgid "repository"
 msgstr "kho"
 
-#: builtin/push.c:501
+#: builtin/push.c:484
 msgid "push all refs"
-msgstr "push tất cả các tham chiếu"
+msgstr "đẩy tất cả các tham chiếu"
 
-#: builtin/push.c:502
+#: builtin/push.c:485
 msgid "mirror all refs"
 msgstr "mirror tất cả các tham chiếu"
 
-#: builtin/push.c:504
+#: builtin/push.c:487
 msgid "delete refs"
 msgstr "xóa các tham chiếu"
 
-#: builtin/push.c:505
+#: builtin/push.c:488
 msgid "push tags (can't be used with --all or --mirror)"
-msgstr "push các thẻ (không dùng cùng với --all hay --mirror)"
+msgstr "đẩy các thẻ (không dùng cùng với --all hay --mirror)"
 
-#: builtin/push.c:508
+#: builtin/push.c:491
 msgid "force updates"
 msgstr "ép buộc cập nhật"
 
-#: builtin/push.c:510
+#: builtin/push.c:493
 msgid "refname>:<expect"
 msgstr "tên-tham-chiếu>:<cần"
 
-#: builtin/push.c:511
+#: builtin/push.c:494
 msgid "require old value of ref to be at this value"
 msgstr "yêu cầu giá-trị cũ của tham chiếu thì là giá-trị này"
 
-#: builtin/push.c:513
+#: builtin/push.c:496
 msgid "check"
 msgstr "kiểm tra"
 
-#: builtin/push.c:514
+#: builtin/push.c:497
 msgid "control recursive pushing of submodules"
 msgstr "điều khiển việc đẩy lên (push) đệ qui của mô-đun-con"
 
-#: builtin/push.c:516
+#: builtin/push.c:499
 msgid "use thin pack"
 msgstr "tạo gói nhẹ"
 
-#: builtin/push.c:517 builtin/push.c:518
+#: builtin/push.c:500 builtin/push.c:501
 msgid "receive pack program"
 msgstr "chương trình nhận gói"
 
-#: builtin/push.c:519
+#: builtin/push.c:502
 msgid "set upstream for git pull/status"
 msgstr "đặt thượng nguồn cho git pull/status"
 
-#: builtin/push.c:522
+#: builtin/push.c:505
 msgid "prune locally removed refs"
 msgstr "xén tỉa những tham chiếu (refs) bị gỡ bỏ"
 
-#: builtin/push.c:524
+#: builtin/push.c:507
 msgid "bypass pre-push hook"
-msgstr "vòng qua móc tiền-đẩy “pre-push”"
+msgstr "vòng qua móc tiền-đẩy (pre-push)"
 
-#: builtin/push.c:525
+#: builtin/push.c:508
 msgid "push missing but relevant tags"
 msgstr "push phần bị thiếu nhưng nhưng các thẻ lại thích hợp"
 
-#: builtin/push.c:535
+#: builtin/push.c:518
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete là xung khắc với các tùy chọn --all, --mirror và --tags"
 
-#: builtin/push.c:537
+#: builtin/push.c:520
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete không hợp lý nếu không có bất kỳ tham chiếu (refs) nào"
 
@@ -8537,7 +8477,7 @@ msgstr " ???"
 #: builtin/remote.c:986
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
-msgstr "branch.%s.merge không hợp lệ; không thể rebase về phía > 1 nhánh"
+msgstr "branch.%s.merge không hợp lệ; không thể cải tổ về phía > 1 nhánh"
 
 #: builtin/remote.c:993
 #, c-format
@@ -8623,7 +8563,7 @@ msgstr "(không có URL)"
 #: builtin/remote.c:1182 builtin/remote.c:1184
 #, c-format
 msgid "  Push  URL: %s"
-msgstr "  URL để đẩy lên (push): %s"
+msgstr "  URL để đẩy lên: %s"
 
 #: builtin/remote.c:1186 builtin/remote.c:1188 builtin/remote.c:1190
 #, c-format
@@ -8776,67 +8716,75 @@ msgstr "Sẽ không xóa những địa chỉ URL không-push"
 msgid "be verbose; must be placed before a subcommand"
 msgstr "chi tiết; phải được đặt trước một lệnh-con"
 
-#: builtin/repack.c:15
+#: builtin/repack.c:16
 msgid "git repack [options]"
 msgstr "git repack [các-tùy-chọn]"
 
-#: builtin/repack.c:143
+#: builtin/repack.c:156
 msgid "pack everything in a single pack"
 msgstr "đóng gói mọi thứ trong một gói đơn"
 
-#: builtin/repack.c:145
+#: builtin/repack.c:158
 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:148
+#: builtin/repack.c:161
 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:150
+#: builtin/repack.c:163
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "chuyển --no-reuse-delta cho git-pack-objects"
 
-#: builtin/repack.c:152
+#: builtin/repack.c:165
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "chuyển --no-reuse-object cho git-pack-objects"
 
-#: builtin/repack.c:154
+#: builtin/repack.c:167
 msgid "do not run git-update-server-info"
 msgstr "không chạy git-update-server-info"
 
-#: builtin/repack.c:157
+#: builtin/repack.c:170
 msgid "pass --local to git-pack-objects"
 msgstr "chuyển --local cho git-pack-objects"
 
-#: builtin/repack.c:158
+#: builtin/repack.c:172
+msgid "write bitmap index"
+msgstr "ghi mục lục ánh xạ"
+
+#: builtin/repack.c:173
 msgid "approxidate"
 msgstr "ngày ước tính"
 
-#: builtin/repack.c:159
+#: builtin/repack.c:174
 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:161
+#: builtin/repack.c:176
 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:162 builtin/repack.c:166
+#: builtin/repack.c:177 builtin/repack.c:181
 msgid "bytes"
 msgstr "byte"
 
-#: builtin/repack.c:163
+#: builtin/repack.c:178
 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:165
+#: builtin/repack.c:180
 msgid "limits the maximum delta depth"
 msgstr "giới hạn độ sâu tối đa của “delta”"
 
-#: builtin/repack.c:167
+#: builtin/repack.c:182
 msgid "maximum size of each packfile"
 msgstr "kcíh thước tối đa cho từng tập tin gói"
 
-#: builtin/repack.c:343
+#: builtin/repack.c:184
+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:371
 #, c-format
 msgid "removing '%s' failed"
 msgstr "gặp lỗi khi xóa bỏ “%s”"
@@ -8929,76 +8877,84 @@ msgstr "Gặp lỗi khi tìm cây của %s."
 msgid "HEAD is now at %s"
 msgstr "HEAD hiện giờ tại %s"
 
-#: builtin/reset.c:172
+#: builtin/reset.c:182
 #, c-format
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "Không thể thực hiện một %s reset ở giữa của quá trình hòa trộn."
 
-#: builtin/reset.c:262
+#: builtin/reset.c:273
 msgid "be quiet, only report errors"
 msgstr "làm việc ở chế độ im lặng, chỉ hiển thị khi có lỗi"
 
-#: builtin/reset.c:264
+#: builtin/reset.c:275
 msgid "reset HEAD and index"
 msgstr "đặt lại (reset) HEAD và bảng mục lục"
 
-#: builtin/reset.c:265
+#: builtin/reset.c:276
 msgid "reset only HEAD"
 msgstr "chỉ đặt lại (reset) HEAD"
 
-#: builtin/reset.c:267 builtin/reset.c:269
+#: builtin/reset.c:278 builtin/reset.c:280
 msgid "reset HEAD, index and working tree"
 msgstr "đặt lại HEAD, bảng mục lục và cây làm việc"
 
-#: builtin/reset.c:271
+#: builtin/reset.c:282
 msgid "reset HEAD but keep local changes"
 msgstr "đặt lại HEAD nhưng giữ lại các thay đổi nội bộ"
 
-#: builtin/reset.c:289
+#: builtin/reset.c:285
+msgid "record only the fact that removed paths will be added later"
+msgstr "chỉ ghi lại những đường dẫn thực sự sẽ được thêm vào sau này"
+
+#: builtin/reset.c:302
 #, c-format
 msgid "Failed to resolve '%s' as a valid revision."
 msgstr "Gặp lỗi khi phân giải “%s” như là điểm xét duyệt hợp lệ."
 
-#: builtin/reset.c:292 builtin/reset.c:300
+#: builtin/reset.c:305 builtin/reset.c:313
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "không thể phân tích đối tượng “%s”."
 
-#: builtin/reset.c:297
+#: builtin/reset.c:310
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
 msgstr "Gặp lỗi khi phân giải “%s” như là một cây (tree) hợp lệ."
 
-#: builtin/reset.c:306
+#: builtin/reset.c:319
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch xung khắc với --{hard,mixed,soft}"
 
-#: builtin/reset.c:315
+#: builtin/reset.c:328
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr ""
 "--mixed với các đường dẫn không còn dùng nữa; hãy thay thế bằng lệnh “git "
 "reset -- <đường_dẫn>”."
 
-#: builtin/reset.c:317
+#: builtin/reset.c:330
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "Không thể thực hiện lệnh %s reset với các đường dẫn."
 
-#: builtin/reset.c:327
+#: builtin/reset.c:340
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr "%s reset không được phép trên kho thuần"
 
 #: builtin/reset.c:344
+msgid "-N can only be used with --mixed"
+msgstr "-N chỉ được dùng khi có --mixed"
+
+#: builtin/reset.c:361
 msgid "Unstaged changes after reset:"
 msgstr "Những thay đổi được đưa ra khỏi bệ phóng sau khi reset:"
 
-#: builtin/reset.c:350
+#: builtin/reset.c:367
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr "Không thể đặt lại (reset) bảng mục lục thành điểm xét duyệt “%s”."
 
-#: builtin/reset.c:355
+#: builtin/reset.c:372
 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."
 
@@ -9018,7 +8974,7 @@ msgstr "dừng phân tích sau đối số đầu tiên không có tùy chọn"
 msgid "output in stuck long form"
 msgstr "kết xuất trong định dạng gậy dài"
 
-#: builtin/rev-parse.c:486
+#: builtin/rev-parse.c:497
 msgid ""
 "git rev-parse --parseopt [options] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -9089,35 +9045,35 @@ msgstr "tùy chọn"
 msgid "option for merge strategy"
 msgstr "tùy chọn cho chiến lược hòa trộn"
 
-#: builtin/revert.c:102
+#: builtin/revert.c:104
 msgid "append commit name"
 msgstr "nối thêm tên lần chuyển giao"
 
-#: builtin/revert.c:103
+#: builtin/revert.c:105
 msgid "allow fast-forward"
 msgstr "cho phép fast-forward"
 
-#: builtin/revert.c:104
+#: builtin/revert.c:106
 msgid "preserve initially empty commits"
 msgstr "cấm khởi tạo lần chuyển giao trống rỗng"
 
-#: builtin/revert.c:105
+#: builtin/revert.c:107
 msgid "allow commits with empty messages"
 msgstr "chấp nhận chuyển giao mà không ghi chú gì"
 
-#: builtin/revert.c:106
+#: builtin/revert.c:108
 msgid "keep redundant, empty commits"
 msgstr "giữ lại các lần chuyển giao dư thừa, rỗng"
 
-#: builtin/revert.c:110
+#: builtin/revert.c:112
 msgid "program error"
 msgstr "lỗi chương trình"
 
-#: builtin/revert.c:195
+#: builtin/revert.c:197
 msgid "revert failed"
 msgstr "revert gặp lỗi"
 
-#: builtin/revert.c:210
+#: builtin/revert.c:212
 msgid "cherry-pick failed"
 msgstr "cherry-pick gặp lỗi"
 
@@ -9331,11 +9287,11 @@ msgstr "hiển thị <n> các mục “ref-log” gần nhất kể từ nền (
 
 #: builtin/show-ref.c:10
 msgid ""
-"git show-ref [-q|--quiet] [--verify] [--head] [-d|--dereference] [-s|--"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [pattern*] "
+"git show-ref [-q|--quiet] [--verify] [--head] [-d|--dereference] [-s|--hash"
+"[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [pattern*] "
 msgstr ""
-"git show-ref [-q|--quiet] [--verify] [--head] [-d|--dereference] [-s|--"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [mẫu*] "
+"git show-ref [-q|--quiet] [--verify] [--head] [-d|--dereference] [-s|--hash"
+"[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [mẫu*] "
 
 #: builtin/show-ref.c:11
 msgid "git show-ref --exclude-existing[=pattern] < ref-list"
@@ -9399,11 +9355,11 @@ msgstr "xóa tham chiếu (ref) tượng trưng"
 msgid "shorten ref output"
 msgstr "làm ngắn kết xuất ref (tham chiếu)"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:254
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:255
 msgid "reason"
 msgstr "lý do"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:254
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:255
 msgid "reason of the update"
 msgstr "lý do cập nhật"
 
@@ -9429,32 +9385,32 @@ msgstr ""
 msgid "git tag -v <tagname>..."
 msgstr "git tag -v <tên-thẻ>..."
 
-#: builtin/tag.c:60
+#: builtin/tag.c:67
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "đối tượng dị hình tại “%s”"
 
-#: builtin/tag.c:207
+#: builtin/tag.c:239
 #, c-format
 msgid "tag name too long: %.*s..."
 msgstr "tên thẻ quá dài: %.*s..."
 
-#: builtin/tag.c:212
+#: builtin/tag.c:244
 #, c-format
 msgid "tag '%s' not found."
 msgstr "không tìm thấy tìm thấy thẻ “%s”."
 
-#: builtin/tag.c:227
+#: builtin/tag.c:259
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "Thẻ đã bị xóa “%s” (trước là %s)\n"
 
-#: builtin/tag.c:239
+#: builtin/tag.c:271
 #, c-format
 msgid "could not verify the tag '%s'"
 msgstr "không thể thẩm tra thẻ “%s”"
 
-#: builtin/tag.c:249
+#: builtin/tag.c:281
 #, c-format
 msgid ""
 "\n"
@@ -9465,7 +9421,7 @@ msgstr ""
 "Viết các ghi chú cho (thẻ) tag\n"
 "Những dòng được bắt đầu bằng “%c” sẽ được bỏ qua.\n"
 
-#: builtin/tag.c:253
+#: builtin/tag.c:285
 #, c-format
 msgid ""
 "\n"
@@ -9478,258 +9434,275 @@ msgstr ""
 "Những dòng được bắt đầu bằng “%c” sẽ được bỏ qua; bạn có thể xóa chúng đi "
 "nếu muốn.\n"
 
-#: builtin/tag.c:292
+#: builtin/tag.c:324
 msgid "unable to sign the tag"
 msgstr "không thể ký thẻ"
 
-#: builtin/tag.c:294
+#: builtin/tag.c:326
 msgid "unable to write tag file"
 msgstr "không thể ghi vào tập tin lưu thẻ"
 
-#: builtin/tag.c:319
+#: builtin/tag.c:351
 msgid "bad object type."
 msgstr "kiểu đối tượng sai."
 
-#: builtin/tag.c:332
+#: builtin/tag.c:364
 msgid "tag header too big."
 msgstr "đầu thẻ (tag) quá lớn."
 
-#: builtin/tag.c:368
+#: builtin/tag.c:400
 msgid "no tag message?"
 msgstr "không có chú thích gì cho cho thẻ à?"
 
-#: builtin/tag.c:374
+#: builtin/tag.c:406
 #, 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:423
+#: builtin/tag.c:455
 msgid "switch 'points-at' requires an object"
 msgstr "chuyển đến “points-at” yêu cần một đối tượng"
 
-#: builtin/tag.c:425
+#: builtin/tag.c:457
 #, c-format
 msgid "malformed object name '%s'"
 msgstr "tên đối tượng dị hình “%s”"
 
-#: builtin/tag.c:445
+#: builtin/tag.c:480
+#, c-format
+msgid "unsupported sort specification %s"
+msgstr "không hỗ trợ đặc tả sắp xếp %s"
+
+#: builtin/tag.c:500
 msgid "list tag names"
 msgstr "chỉ liệt kê tên các thẻ"
 
-#: builtin/tag.c:447
+#: builtin/tag.c:502
 msgid "print <n> lines of each tag message"
 msgstr "hiển thị <n> dòng cho mỗi ghi chú"
 
-#: builtin/tag.c:449
+#: builtin/tag.c:504
 msgid "delete tags"
 msgstr "xóa thẻ"
 
-#: builtin/tag.c:450
+#: builtin/tag.c:505
 msgid "verify tags"
 msgstr "thẩm tra thẻ"
 
-#: builtin/tag.c:452
+#: builtin/tag.c:507
 msgid "Tag creation options"
 msgstr "Tùy chọn tạo tag"
 
-#: builtin/tag.c:454
+#: builtin/tag.c:509
 msgid "annotated tag, needs a message"
 msgstr "để chú giải cho thẻ, cần một lời ghi chú"
 
-#: builtin/tag.c:456
+#: builtin/tag.c:511
 msgid "tag message"
 msgstr "tin nhắn cho thẻ (tag)"
 
-#: builtin/tag.c:458
+#: builtin/tag.c:513
 msgid "annotated and GPG-signed tag"
 msgstr "thẻ chú giải và ký kiểu GPG"
 
-#: builtin/tag.c:462
+#: builtin/tag.c:517
 msgid "use another key to sign the tag"
 msgstr "dùng kháo khác để ký thẻ"
 
-#: builtin/tag.c:463
+#: builtin/tag.c:518
 msgid "replace the tag if exists"
 msgstr "thay thế nếu tag đó đã có trước"
 
-#: builtin/tag.c:464
+#: builtin/tag.c:519
 msgid "show tag list in columns"
 msgstr "hiển thị danh sách thẻ trong các cột"
 
-#: builtin/tag.c:466
+#: builtin/tag.c:521
+msgid "sort tags"
+msgstr "sắp xếp các thẻ"
+
+#: builtin/tag.c:525
 msgid "Tag listing options"
 msgstr "Các tùy chọn liệt kê thẻ"
 
-#: builtin/tag.c:469
+#: builtin/tag.c:528 builtin/tag.c:534
 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:475
+#: builtin/tag.c:540
 msgid "print only tags of the object"
 msgstr "chỉ hiển thị các thẻ của đối tượng"
 
-#: builtin/tag.c:501
+#: builtin/tag.c:566
 msgid "--column and -n are incompatible"
 msgstr "--column và -n xung khắc nhau"
 
-#: builtin/tag.c:518
+#: builtin/tag.c:578
+msgid "--sort and -n are incompatible"
+msgstr "--sort và -n xung khắc nhau"
+
+#: builtin/tag.c:585
 msgid "-n option is only allowed with -l."
 msgstr "tùy chọn -n chỉ cho phép dùng với -l."
 
-#: builtin/tag.c:520
+#: builtin/tag.c:587
 msgid "--contains option is only allowed with -l."
 msgstr "tùy chọn --contains chỉ cho phép dùng với -l."
 
-#: builtin/tag.c:522
+#: builtin/tag.c:589
 msgid "--points-at option is only allowed with -l."
 msgstr "tùy chọn --points-at chỉ cho phép dùng với -l."
 
-#: builtin/tag.c:530
+#: builtin/tag.c:597
 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:550
+#: builtin/tag.c:617
 msgid "too many params"
 msgstr "quá nhiều đối số"
 
-#: builtin/tag.c:556
+#: builtin/tag.c:623
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "“%s” không phải thẻ hợp lệ."
 
-#: builtin/tag.c:561
+#: builtin/tag.c:628
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "Thẻ “%s” đã tồn tại rồi"
 
-#: builtin/tag.c:579
+#: builtin/tag.c:646
 #, c-format
 msgid "%s: cannot lock the ref"
 msgstr "%s: không thể khóa ref (tham chiếu)"
 
-#: builtin/tag.c:581
+#: builtin/tag.c:648
 #, c-format
 msgid "%s: cannot update the ref"
 msgstr "%s: không thể cập nhật ref (tham chiếu)"
 
-#: builtin/tag.c:583
+#: builtin/tag.c:650
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Đã cập nhật thẻ “%s” (trước là %s)\n"
 
-#: builtin/update-index.c:402
+#: builtin/unpack-objects.c:483
+msgid "Unpacking objects"
+msgstr "Đang giải nén các đối tượng"
+
+#: builtin/update-index.c:399
 msgid "git update-index [options] [--] [<file>...]"
 msgstr "git update-index [các-tùy-chọn] [<tập-tin>...]"
 
-#: builtin/update-index.c:720
+#: builtin/update-index.c:748
 msgid "continue refresh even when index needs update"
 msgstr "tiếp tục làm mới ngay cả khi bảng mục lục cần được cập nhật"
 
-#: builtin/update-index.c:723
+#: builtin/update-index.c:751
 msgid "refresh: ignore submodules"
 msgstr "refresh: lờ đi mô-đun-con"
 
-#: builtin/update-index.c:726
+#: builtin/update-index.c:754
 msgid "do not ignore new files"
 msgstr "không bỏ qua các tập tin mới tạo"
 
-#: builtin/update-index.c:728
+#: builtin/update-index.c:756
 msgid "let files replace directories and vice-versa"
 msgstr "để các tập tin thay thế các thư mục và “vice-versa”"
 
-#: builtin/update-index.c:730
+#: builtin/update-index.c:758
 msgid "notice files missing from worktree"
 msgstr "thông báo các tập-tin thiếu trong thư-mục làm việc"
 
-#: builtin/update-index.c:732
+#: builtin/update-index.c:760
 msgid "refresh even if index contains unmerged entries"
 msgstr ""
 "làm tươi mới thậm chí khi bảng mục lục chứa các mục tin chưa được hòa trộn"
 
-#: builtin/update-index.c:735
+#: builtin/update-index.c:763
 msgid "refresh stat information"
 msgstr "lấy lại thông tin thống kê"
 
-#: builtin/update-index.c:739
+#: builtin/update-index.c:767
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "giống --refresh, nhưng bỏ qua các cài đặt “assume-unchanged”"
 
-#: builtin/update-index.c:743
-msgid "<mode> <object> <path>"
-msgstr "<mode> <đối tượng> <đường dẫn>"
+#: builtin/update-index.c:771
+msgid "<mode>,<object>,<path>"
+msgstr "<chế_độ>,<đối_tượng>,<đường_dẫn>"
 
-#: builtin/update-index.c:744
+#: builtin/update-index.c:772
 msgid "add the specified entry to the index"
 msgstr "thêm các tập tin đã chỉ ra vào bảng mục lục"
 
-#: builtin/update-index.c:748
+#: builtin/update-index.c:776
 msgid "(+/-)x"
 msgstr "(+/-)x"
 
-#: builtin/update-index.c:749
+#: builtin/update-index.c:777
 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/update-index.c:753
+#: builtin/update-index.c:781
 msgid "mark files as \"not changing\""
 msgstr "Đánh dấu các tập tin là \"không thay đổi\""
 
-#: builtin/update-index.c:756
+#: builtin/update-index.c:784
 msgid "clear assumed-unchanged bit"
 msgstr "xóa bít  assumed-unchanged"
 
-#: builtin/update-index.c:759
+#: builtin/update-index.c:787
 msgid "mark files as \"index-only\""
 msgstr "đánh dấu các tập tin là “chỉ-đọc”"
 
-#: builtin/update-index.c:762
+#: builtin/update-index.c:790
 msgid "clear skip-worktree bit"
 msgstr "xóa bít skip-worktree"
 
-#: builtin/update-index.c:765
+#: builtin/update-index.c:793
 msgid "add to index only; do not add content to object database"
 msgstr ""
 "chỉ thêm vào bảng mục lục; không thêm nội dung vào cơ sở dữ liệu đối tượng"
 
-#: builtin/update-index.c:767
+#: builtin/update-index.c:795
 msgid "remove named paths even if present in worktree"
 msgstr ""
 "gỡ bỏ các đường dẫn được đặt tên thậm chí cả khi nó hiện diện trong thư mục "
 "làm việc"
 
-#: builtin/update-index.c:769
+#: builtin/update-index.c:797
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "với tùy chọn --stdin: các dòng đầu vào được chấm dứt bởi ký tự null"
 
-#: builtin/update-index.c:771
+#: builtin/update-index.c:799
 msgid "read list of paths to be updated from standard input"
 msgstr "đọc danh sách đường dẫn cần cập nhật từ đầu vào tiêu chuẩn"
 
-#: builtin/update-index.c:775
+#: builtin/update-index.c:803
 msgid "add entries from standard input to the index"
 msgstr "không thể đọc các mục từ đầu vào tiêu chuẩn vào bảng mục lục"
 
-#: builtin/update-index.c:779
+#: builtin/update-index.c:807
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "phục hồi các trạng thái #2 và #3 cho các đường dẫn được liệt kê"
 
-#: builtin/update-index.c:783
+#: builtin/update-index.c:811
 msgid "only update entries that differ from HEAD"
 msgstr "chỉ cập nhật các mục tin mà nó khác biệt so với HEAD"
 
-#: builtin/update-index.c:787
+#: builtin/update-index.c:815
 msgid "ignore files missing from worktree"
 msgstr "bỏ qua các tập-tin thiếu trong thư-mục làm việc"
 
-#: builtin/update-index.c:790
+#: builtin/update-index.c:818
 msgid "report actions to standard output"
 msgstr "báo cáo các thao tác ra thiết bị xuất chuẩn"
 
-#: builtin/update-index.c:792
+#: builtin/update-index.c:820
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(cho “porcelains”) quên các xung đột chưa được giải quyết đã ghi"
 
-#: builtin/update-index.c:796
+#: builtin/update-index.c:824
 msgid "write index in this format"
 msgstr "ghi mục lục ở định dạng này"
 
@@ -9745,19 +9718,19 @@ msgstr "git update-ref [các-tùy-chọn]    <refname> <biến-mới> [<biến-c
 msgid "git update-ref [options] --stdin [-z]"
 msgstr "git update-ref [các-tùy-chọn] --stdin [-z]"
 
-#: builtin/update-ref.c:255
+#: builtin/update-ref.c:256
 msgid "delete the reference"
 msgstr "xóa tham chiếu"
 
-#: builtin/update-ref.c:257
+#: builtin/update-ref.c:258
 msgid "update <refname> not the one it points to"
 msgstr "cập nhật <tên-tham-chiếu> không phải cái nó chỉ tới"
 
-#: builtin/update-ref.c:258
+#: builtin/update-ref.c:259
 msgid "stdin has NUL-terminated arguments"
 msgstr "đầu vào tiêu chuẩn có các đối số được chấm dứt bởi NUL"
 
-#: builtin/update-ref.c:259
+#: builtin/update-ref.c:260
 msgid "read updates from stdin"
 msgstr "đọc cập nhật từ đầu vào tiêu chuẩn"
 
@@ -9815,23 +9788,23 @@ msgstr ""
 "hướng dẫn về khái niệm. Xem “git help <lệnh>” hay “git help <khái-niệm>”\n"
 "để xem các đặc tả cho lệnh hay khái niệm cụ thể."
 
-#: parse-options.h:146
-msgid "expiry date"
+#: parse-options.h:143
+msgid "expiry-date"
 msgstr "ngày hết hạn"
 
-#: parse-options.h:161
+#: parse-options.h:158
 msgid "no-op (backward compatibility)"
 msgstr "no-op (tương thích ngược)"
 
-#: parse-options.h:235
+#: parse-options.h:232
 msgid "be more verbose"
 msgstr "chi tiết hơn nữa"
 
-#: parse-options.h:237
+#: parse-options.h:234
 msgid "be more quiet"
 msgstr "im lặng hơn nữa"
 
-#: parse-options.h:243
+#: parse-options.h:240
 msgid "use <n> digits to display SHA-1s"
 msgstr "sử dụng <n> chữ số để hiển thị SHA-1s"
 
@@ -9923,11 +9896,11 @@ msgstr "Hiển thị trạng thái cây làm việc"
 msgid "Create, list, delete or verify a tag object signed with GPG"
 msgstr "Tạo, liệt kê, xóa hay xác thực một đối tượng thẻ được ký bằng GPG"
 
-#: git-am.sh:50
+#: git-am.sh:52
 msgid "You need to set your committer info first"
 msgstr "Bạn cần đặt thông tin về người chuyển giao mã nguồn trước đã"
 
-#: git-am.sh:95
+#: git-am.sh:97
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
@@ -9935,7 +9908,7 @@ msgstr ""
 "Bạn có lẽ đã có HEAD đã bị di chuyển đi kể từ lần “am” thất bại cuối cùng.\n"
 "Không thể chuyển tới ORIG_HEAD"
 
-#: git-am.sh:105
+#: git-am.sh:107
 #, sh-format
 msgid ""
 "When you have resolved this problem, run \"$cmdline --continue\".\n"
@@ -9948,20 +9921,20 @@ msgstr ""
 "Để phục hồi lại thành nhánh nguyên thủy và dừng việc vá lại thì chạy "
 "\"$cmdline --abort\"."
 
-#: git-am.sh:121
+#: git-am.sh:123
 msgid "Cannot fall back to three-way merge."
 msgstr "Đang trở lại để hòa trộn kiểu “three-way”."
 
-#: git-am.sh:137
+#: git-am.sh:139
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr "Kho thiếu đối tượng blob cần thiết để trở về trên “3-way merge”."
 
-#: git-am.sh:139
+#: git-am.sh:141
 msgid "Using index info to reconstruct a base tree..."
 msgstr ""
 "Sử dụng thông tin trong bảng mục lục để cấu trúc lại một cây (tree) cơ sở..."
 
-#: git-am.sh:154
+#: git-am.sh:156
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -9969,28 +9942,28 @@ msgstr ""
 "Bạn đã sửa miếng vá của mình bằng cách thủ công à?\n"
 "Nó không thể áp dụng các blob đã được ghi lại trong bảng mục lục của nó."
 
-#: git-am.sh:163
+#: git-am.sh:165
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "Đang trở lại để vá cơ sở và “3-way merge”..."
 
-#: git-am.sh:179
+#: git-am.sh:181
 msgid "Failed to merge in the changes."
 msgstr "Gặp lỗi khi trộn vào các thay đổi."
 
-#: git-am.sh:274
+#: git-am.sh:276
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "Chỉ có một sê-ri miếng vá StGIT được áp dụng một lúc"
 
-#: git-am.sh:361
+#: git-am.sh:363
 #, sh-format
 msgid "Patch format $patch_format is not supported."
 msgstr "Định dạng miếng vá $patch_format không được hỗ trợ."
 
-#: git-am.sh:363
+#: git-am.sh:365
 msgid "Patch format detection failed."
 msgstr "Dò tìm định dạng miếng vá gặp lỗi."
 
-#: git-am.sh:389
+#: git-am.sh:392
 msgid ""
 "The -b/--binary option has been a no-op for long time, and\n"
 "it will be removed. Please do not use it anymore."
@@ -9998,16 +9971,16 @@ msgstr ""
 "Tùy chọn -b/--binary đã không dùng từ lâu rồi, và\n"
 "nó sẽ được bỏ đi. Xin đừng sử dụng nó thêm nữa."
 
-#: git-am.sh:479
+#: git-am.sh:486
 #, sh-format
 msgid "previous rebase directory $dotest still exists but mbox given."
 msgstr "thư mục rebase trước $dotest vẫn chưa sẵn sàng nhưng mbox được đưa ra."
 
-#: git-am.sh:484
+#: git-am.sh:491
 msgid "Please make up your mind. --skip or --abort?"
 msgstr "Xin hãy rõ ràng. --skip hay --abort?"
 
-#: git-am.sh:520
+#: git-am.sh:527
 #, sh-format
 msgid ""
 "Stray $dotest directory found.\n"
@@ -10016,16 +9989,16 @@ msgstr ""
 "Tìm thấy thư mục lạc $dotest.\n"
 "Dùng \"git am --abort\" để loại bỏ nó đi."
 
-#: git-am.sh:528
+#: git-am.sh:535
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr "Thao tác phân giải không được tiến hành, chúng ta không phục hồi lại."
 
-#: git-am.sh:594
+#: git-am.sh:601
 #, sh-format
 msgid "Dirty index: cannot apply patches (dirty: $files)"
 msgstr "Bảng mục lục sai: không thể áp dụng các miếng vá (sai: $files)"
 
-#: git-am.sh:698
+#: git-am.sh:705
 #, sh-format
 msgid ""
 "Patch is empty.  Was it split wrong?\n"
@@ -10038,34 +10011,34 @@ msgstr ""
 "Để phục hồi lại nhánh nguyên thủy và dừng vá lại hãy chạy lệnh \"$cmdline --"
 "abort\"."
 
-#: git-am.sh:725
+#: git-am.sh:732
 msgid "Patch does not have a valid e-mail address."
 msgstr "Miếng vá không có địa chỉ thư điện tử hợp lệ."
 
-#: git-am.sh:772
+#: git-am.sh:779
 msgid "cannot be interactive without stdin connected to a terminal."
 msgstr ""
 "không thể được tương tác mà không có stdin kết nối với một thiết bị cuối"
 
-#: git-am.sh:776
+#: git-am.sh:783
 msgid "Commit Body is:"
 msgstr "Thân của lần chuyển giao là:"
 
 #. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
 #. in your translation. The program will only accept English
 #. input at this point.
-#: git-am.sh:783
+#: git-am.sh:790
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all "
 msgstr ""
 "Áp dụng? đồng ý [y]/khô[n]g/chỉnh sửa [e]/hiển thị miếng [v]á/đồng ý tất cả "
 "[a] "
 
-#: git-am.sh:819
+#: git-am.sh:826
 #, sh-format
 msgid "Applying: $FIRSTLINE"
 msgstr "Đang áp dụng (miếng vá): $FIRSTLINE"
 
-#: git-am.sh:840
+#: git-am.sh:847
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -10076,7 +10049,7 @@ msgstr ""
 "đã sẵn được đưa vào với cùng nội dung thay đổi; bạn có lẽ muốn bỏ qua miếng "
 "vá này."
 
-#: git-am.sh:848
+#: git-am.sh:855
 msgid ""
 "You still have unmerged paths in your index\n"
 "did you forget to use 'git add'?"
@@ -10084,16 +10057,16 @@ msgstr ""
 "Bạn vẫn có những đường dẫn chưa được hòa trộn trong bảng mục lục của mình\n"
 "bạn đã quên sử dụng lệnh “git add” à?"
 
-#: git-am.sh:864
+#: git-am.sh:871
 msgid "No changes -- Patch already applied."
 msgstr "Không thay đổi gì cả -- Miếng vá đã được áp dụng rồi."
 
-#: git-am.sh:874
+#: git-am.sh:881
 #, sh-format
 msgid "Patch failed at $msgnum $FIRSTLINE"
 msgstr "Gặp lỗi khi vá tại $msgnum $FIRSTLINE"
 
-#: git-am.sh:877
+#: git-am.sh:884
 #, sh-format
 msgid ""
 "The copy of the patch that failed is found in:\n"
@@ -10102,7 +10075,7 @@ msgstr ""
 "Bản sao chép của miếng vá mà nó gặp lỗi thì được tìm thấy trong:\n"
 "   $dotest/patch"
 
-#: git-am.sh:895
+#: git-am.sh:902
 msgid "applying to an empty history"
 msgstr "áp dụng vào một lịch sử trống rỗng"
 
@@ -10170,8 +10143,6 @@ msgstr "Đầu vào rev sai: $rev"
 msgid "'git bisect bad' can take only one argument."
 msgstr "“git bisect bad” có thể lấy chỉ một đối số."
 
-#. have bad but not good.  we could bisect although
-#. this is less optimum.
 #: git-bisect.sh:273
 msgid "Warning: bisecting only with a bad commit."
 msgstr "Cảnh báo: chỉ thực hiện việc bisect với một lần chuyển giao sai."
@@ -10280,17 +10251,13 @@ msgid "Pull is not possible because you have unmerged files."
 msgstr ""
 "Full là không thể thực hiện bởi vì bạn có những tập tin chưa được hòa trộn."
 
-#: git-pull.sh:223
+#: git-pull.sh:247
 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"
 
-#. The fetch involved updating the current branch.
-#. The working tree and the index file is still based on the
-#. $orig_head commit, but we are merging into $curr_head.
-#. First update the working tree to match $curr_head.
-#: git-pull.sh:247
+#: git-pull.sh:271
 #, sh-format
 msgid ""
 "Warning: fetch updated the current branch head.\n"
@@ -10301,15 +10268,15 @@ msgstr ""
 "Cảnh báo: đang fast-forward cây làm việc của bạn từ\n"
 "Cảnh báo: commit $orig_head."
 
-#: git-pull.sh:272
+#: git-pull.sh:296
 msgid "Cannot merge multiple branches into empty head"
 msgstr "Không thể hòa trộn nhiều nhánh và trong một head trống rỗng"
 
-#: git-pull.sh:276
+#: git-pull.sh:300
 msgid "Cannot rebase onto multiple branches"
 msgstr "Không thể thực hiện lệnh rebase (cơ cấu lại) trên nhiều nhánh"
 
-#: git-rebase.sh:55
+#: git-rebase.sh:57
 msgid ""
 "When you have resolved this problem, run \"git rebase --continue\".\n"
 "If you prefer to skip this patch, run \"git rebase --skip\" instead.\n"
@@ -10322,16 +10289,16 @@ msgstr ""
 "Để phục hồi lại thành nhánh nguyên thủy và dừng việc vá lại thì chạy \"git "
 "rebase --abort\"."
 
-#: git-rebase.sh:158
+#: git-rebase.sh:164
 msgid "Applied autostash."
 msgstr "Đã áp dụng autostash."
 
-#: git-rebase.sh:161
+#: git-rebase.sh:167
 #, sh-format
 msgid "Cannot store $stash_sha1"
 msgstr "Không thể lưu $stash_sha1"
 
-#: git-rebase.sh:162
+#: git-rebase.sh:168
 msgid ""
 "Applying autostash resulted in conflicts.\n"
 "Your changes are safe in the stash.\n"
@@ -10342,35 +10309,35 @@ msgstr ""
 "Bạn có thể chạy lệnh \"git stash pop\" hay \"git stash drop\" bất kỳ lúc "
 "nào.\n"
 
-#: git-rebase.sh:201
+#: git-rebase.sh:207
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Móc (hook) pre-rebase từ chối rebase."
 
-#: git-rebase.sh:206
+#: git-rebase.sh:212
 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ể chạy lệnh "
 "rebase."
 
-#: git-rebase.sh:346
+#: git-rebase.sh:350
 msgid "The --exec option must be used with the --interactive option"
 msgstr "Tùy chọn --exec phải được sử dụng cùng với tùy chọn --interactive"
 
-#: git-rebase.sh:351
+#: git-rebase.sh:355
 msgid "No rebase in progress?"
 msgstr "Không có tiến trình rebase nào phải không?"
 
-#: git-rebase.sh:362
+#: git-rebase.sh:366
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 "Hành động “--edit-todo” chỉ có thể dùng trong quá trình “rebase” (sửa lịch "
 "sử) tương tác."
 
-#: git-rebase.sh:369
+#: git-rebase.sh:373
 msgid "Cannot read HEAD"
 msgstr "Không thể đọc HEAD"
 
-#: git-rebase.sh:372
+#: git-rebase.sh:376
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -10378,12 +10345,12 @@ msgstr ""
 "Bạn phải sửa tất cả các lần hòa trộn xung đột và sau\n"
 "đó đánh dấu chúng là cần xử lý sử dụng lệnh git add"
 
-#: git-rebase.sh:390
+#: git-rebase.sh:394
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "Không thể quay trở lại $head_name"
 
-#: git-rebase.sh:409
+#: git-rebase.sh:413
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -10406,66 +10373,65 @@ msgstr ""
 "\n"
 "TÔI: là lệnh bạn vừa gọi!"
 
-#: git-rebase.sh:456
+#: git-rebase.sh:464
 #, sh-format
 msgid "invalid upstream $upstream_name"
 msgstr "thượng nguồn không hợp lệ $upstream_name"
 
-#: git-rebase.sh:480
+#: git-rebase.sh:488
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name: ở đây có nhiều hơn một nền móng hòa trộn"
 
-#: git-rebase.sh:483 git-rebase.sh:487
+#: git-rebase.sh:491 git-rebase.sh:495
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name: ở đây không có nền móng hòa trộn nào"
 
-#: git-rebase.sh:492
+#: git-rebase.sh:500
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "Không chỉ đến một lần chuyển giao không hợp lệ: $onto_name"
 
-#: git-rebase.sh:515
+#: git-rebase.sh:523
 #, sh-format
 msgid "fatal: no such branch: $branch_name"
 msgstr "nghiêm trọng: không có nhánh như thế: $branch_name"
 
-#: git-rebase.sh:548
+#: git-rebase.sh:556
 msgid "Cannot autostash"
 msgstr "Không thể autostash"
 
-#: git-rebase.sh:553
+#: git-rebase.sh:561
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "Đã tạo autostash: $stash_abbrev"
 
-#: git-rebase.sh:557
+#: git-rebase.sh:565
 msgid "Please commit or stash them."
 msgstr "Xin hãy commit hoặc tạm cất (stash) chúng."
 
-#: git-rebase.sh:577
+#: git-rebase.sh:585
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "Nhánh hiện tại $branch_name đã được cập nhật rồi."
 
-#: git-rebase.sh:581
+#: git-rebase.sh:589
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr "Nhánh hiện tại $branch_name đã được cập nhật rồi, lệnh rebase ép buộc."
 
-#: git-rebase.sh:592
+#: git-rebase.sh:600
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "Thay đổi từ $mb thành $onto:"
 
-#. Detach HEAD and reset the tree
-#: git-rebase.sh:601
+#: git-rebase.sh:609
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr ""
 "Trước tiên, di chuyển head để xem lại các công việc trên đỉnh của nó..."
 
-#: git-rebase.sh:611
+#: git-rebase.sh:619
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "Fast-forward $branch_name thành $onto_name."
@@ -10588,21 +10554,21 @@ msgstr "Không thể bỏ ra khỏi bệ phóng các tập tin đã được s
 msgid "Index was not unstashed."
 msgstr "Bảng mục lục đã không được bỏ stash."
 
-#: git-stash.sh:523
+#: git-stash.sh:529
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr "Đã xóa ${REV} ($s)"
 
-#: git-stash.sh:524
+#: git-stash.sh:530
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr "${REV}: Không thể xóa bỏ mục stash"
 
-#: git-stash.sh:531
+#: git-stash.sh:537
 msgid "No branch name specified"
 msgstr "Chưa chỉ ra tên của nhánh"
 
-#: git-stash.sh:603
+#: git-stash.sh:609
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(Để phục hồi lại chúng hãy gõ \"git stash apply\")"
 
@@ -10618,35 +10584,35 @@ msgstr ""
 "Không tìm thấy ánh xạ (mapping) mô-đun-con trong .gitmodules cho đường dẫn "
 "“$sm_path”"
 
-#: git-submodule.sh:281
+#: git-submodule.sh:287
 #, sh-format
 msgid "Clone of '$url' into submodule path '$sm_path' failed"
 msgstr "Nhân bản “$url” vào đường dẫn mô-đun-con “$sm_path” gặp lỗi"
 
-#: git-submodule.sh:293
+#: git-submodule.sh:299
 #, sh-format
 msgid "Gitdir '$a' is part of the submodule path '$b' or vice versa"
 msgstr ""
 "Gitdir “$a” là bộ phận của đường dẫn mô-đun-con “$b” hoặc \"vice versa\""
 
-#: git-submodule.sh:403
+#: git-submodule.sh:409
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr ""
 "Đường dẫn tương đối chỉ có thể dùng từ thư mục ở mức cao nhất của cây làm "
 "việc"
 
-#: git-submodule.sh:413
+#: git-submodule.sh:419
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr ""
 "repo URL: “$repo” phải là đường dẫn tuyệt đối hoặc là bắt đầu bằng ./|../"
 
-#: git-submodule.sh:430
+#: git-submodule.sh:436
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "”$sm_path” thực sự đã tồn tại ở bảng mục lục rồi"
 
-#: git-submodule.sh:434
+#: git-submodule.sh:440
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -10658,36 +10624,36 @@ msgstr ""
 "$sm_path\n"
 "Sử dụng -f nếu bạn thực sự muốn thêm nó vào."
 
-#: git-submodule.sh:452
+#: git-submodule.sh:458
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "Đang thêm repo có sẵn tại “$sm_path” vào bảng mục lục"
 
-#: git-submodule.sh:454
+#: git-submodule.sh:460
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "”$sm_path” đã tồn tại từ trước và không phải là một kho git hợp lệ"
 
-#: git-submodule.sh:462
+#: git-submodule.sh:468
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr ""
 "Thư mục git cho “$sm_name” được tìm thấy một cách cục bộ với các máy chủ:"
 
-#: git-submodule.sh:464
+#: git-submodule.sh:470
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from"
 msgstr "Nếu bạn muốn dùng lại thư mục git nội bộ này thay vì nhân bản từ nó"
 
-#: git-submodule.sh:466
+#: git-submodule.sh:472
 #, sh-format
 msgid ""
 "use the '--force' option. If the local git directory is not the correct repo"
 msgstr ""
 "dùng tùy chọn “--force”. Nếu thư mục git nội bộ không phải là repo (kho) đúng"
 
-#: git-submodule.sh:467
+#: git-submodule.sh:473
 #, sh-format
 msgid ""
 "or you are unsure what this means choose another name with the '--name' "
@@ -10696,71 +10662,71 @@ msgstr ""
 "hay bạn không chắc chắn điều đó có nghĩa gì chọn tên khác với tùy chọn “--"
 "name”."
 
-#: git-submodule.sh:469
+#: git-submodule.sh:475
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr ""
 "Phục hồi sự hoạt động của thư mục git nội bộ cho mô-đun-con “$sm_name”."
 
-#: git-submodule.sh:481
+#: git-submodule.sh:487
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
-msgstr "Không thể checkout mô-đun-con “$sm_path”"
+msgstr "Không thể lấy ra mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:486
+#: git-submodule.sh:492
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "Gặp lỗi khi thêm mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:495
+#: git-submodule.sh:501
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Gặp lỗi khi đăng ký với hệ thống mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:539
+#: git-submodule.sh:545
 #, sh-format
 msgid "Entering '$prefix$displaypath'"
 msgstr "Đang vào “$prefix$displaypath”"
 
-#: git-submodule.sh:559
+#: git-submodule.sh:565
 #, sh-format
 msgid "Stopping at '$prefix$displaypath'; script returned non-zero status."
 msgstr ""
 "Dừng lại tại “$prefix$displaypath”; script trả về trạng thái khác không."
 
-#: git-submodule.sh:605
+#: git-submodule.sh:611
 #, sh-format
 msgid "No url found for submodule path '$displaypath' in .gitmodules"
 msgstr ""
 "Không tìm thấy url cho đường dẫn mô-đun-con “$displaypath” trong .gitmodules"
 
-#: git-submodule.sh:614
+#: git-submodule.sh:620
 #, sh-format
 msgid "Failed to register url for submodule path '$displaypath'"
 msgstr "Gặp lỗi khi đăng ký url cho đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:616
+#: git-submodule.sh:622
 #, sh-format
 msgid "Submodule '$name' ($url) registered for path '$displaypath'"
 msgstr "Mô-đun-con “$name” ($url) được đăng ký cho đường dẫn “$displaypath”"
 
-#: git-submodule.sh:633
+#: git-submodule.sh:639
 #, sh-format
 msgid "Failed to register update mode for submodule path '$displaypath'"
 msgstr ""
 "Gặp lỗi khi đăng ký chế độ cập nhật cho đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:671
+#: git-submodule.sh:677
 #, sh-format
 msgid "Use '.' if you really want to deinitialize all submodules"
 msgstr "Dùng “.” nếu bạn thực sự muốn gỡ bỏ mọi mô-đun-con"
 
-#: git-submodule.sh:688
+#: git-submodule.sh:694
 #, sh-format
 msgid "Submodule work tree '$displaypath' contains a .git directory"
 msgstr "Cây làm việc mô-đun-con “$displaypath” có chứa thư mục .git"
 
-#: git-submodule.sh:689
+#: git-submodule.sh:695
 #, sh-format
 msgid ""
 "(use 'rm -rf' if you really want to remove it including all of its history)"
@@ -10768,7 +10734,7 @@ msgstr ""
 "(dùng “rm -rf” nếu bạn thực sự muốn gỡ bỏ nó cùng với tất cả lịch sử của "
 "chúng)"
 
-#: git-submodule.sh:695
+#: git-submodule.sh:701
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
@@ -10777,27 +10743,27 @@ msgstr ""
 "Cây làm việc mô-đun-con “$displaypath” chứa các thay đổi nội bộ; hãy dùng “-"
 "f” để loại bỏ chúng đi"
 
-#: git-submodule.sh:698
+#: git-submodule.sh:704
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr "Đã tạo thư mục “$displaypath”"
 
-#: git-submodule.sh:699
+#: git-submodule.sh:705
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr "Không thể gỡ bỏ cây làm việc mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:702
+#: git-submodule.sh:708
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr "Không thể tạo thư mục mô-đun-con rỗng “$displaypath”"
 
-#: git-submodule.sh:711
+#: git-submodule.sh:717
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr "Mô-đun-con “$name” ($url) được bỏ đăng ký cho đường dẫn “$displaypath”"
 
-#: git-submodule.sh:834
+#: git-submodule.sh:833
 #, sh-format
 msgid ""
 "Submodule path '$displaypath' not initialized\n"
@@ -10806,45 +10772,55 @@ msgstr ""
 "Đường dẫn mô-đun-con “$displaypath” chưa được khởi tạo.\n"
 "Có lẽ bạn muốn sử dụng lệnh “update --init”?"
 
-#: git-submodule.sh:847
+#: git-submodule.sh:846
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr ""
 "Không tìm thấy điểm xét duyệt hiện hành trong đường dẫn mô-đun-con "
 "“$displaypath”"
 
-#: git-submodule.sh:856
+#: git-submodule.sh:855
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "Không thể lấy về trong đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:880
+#: git-submodule.sh:879
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "Không thể lấy về trong đường dẫn mô-đun-con “$displaypath”"
 
+#: git-submodule.sh:893
+#, sh-format
+msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
+msgstr "Không thể lấy ra “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
+
 #: git-submodule.sh:894
 #, sh-format
+msgid "Submodule path '$displaypath': checked out '$sha1'"
+msgstr "Đường dẫn mô-đun-con “$displaypath”: đã checkout “$sha1”"
+
+#: git-submodule.sh:898
+#, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
-msgstr "Không thể rebase “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
+msgstr "Không thể cải tổ “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:895
+#: git-submodule.sh:899
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: được rebase vào trong “$sha1”"
 
-#: git-submodule.sh:900
+#: git-submodule.sh:904
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Không thể hòa trộn (merge) “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:901
+#: git-submodule.sh:905
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: được hòa trộn vào “$sha1”"
 
-#: git-submodule.sh:906
+#: git-submodule.sh:910
 #, sh-format
 msgid ""
 "Execution of '$command $sha1' failed in submodule  path '$prefix$sm_path'"
@@ -10852,67 +10828,173 @@ msgstr ""
 "Thực hiện không thành công lệnh “$command $sha1” trong đường dẫn mô-đun-con "
 "“$prefix$sm_path”"
 
-#: git-submodule.sh:907
+#: git-submodule.sh:911
 #, sh-format
 msgid "Submodule path '$prefix$sm_path': '$command $sha1'"
 msgstr "Đường dẫn mô-đun-con “$prefix$sm_path”: “$command $sha1”"
 
-#: git-submodule.sh:912
-#, sh-format
-msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
-msgstr "Không thể checkout “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
-
-#: git-submodule.sh:913
-#, sh-format
-msgid "Submodule path '$displaypath': checked out '$sha1'"
-msgstr "Đường dẫn mô-đun-con “$displaypath”: đã checkout “$sha1”"
-
-#: git-submodule.sh:940
+#: git-submodule.sh:941
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Gặp lỗi khi đệ quy vào trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:1048
+#: git-submodule.sh:1049
 msgid "The --cached option cannot be used with the --files option"
 msgstr "Tùy chọn --cached không thể dùng cùng với tùy chọn --files"
 
-#. unexpected type
-#: git-submodule.sh:1096
+#: git-submodule.sh:1097
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "chế độ không như mong chờ $mod_dst"
 
-#: git-submodule.sh:1116
+#: git-submodule.sh:1117
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  Cảnh báo: $display_name không chứa lần chuyển giao $sha1_src"
 
-#: git-submodule.sh:1119
+#: git-submodule.sh:1120
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  Cảnh báo: $display_name không chứa lần chuyển giao $sha1_dst"
 
-#: git-submodule.sh:1122
+#: git-submodule.sh:1123
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
 "  Cảnh báo: $display_name không chứa những lần chuyển giao $sha1_src và "
 "$sha1_dst"
 
-#: git-submodule.sh:1147
+#: git-submodule.sh:1148
 msgid "blob"
 msgstr "blob"
 
-#: git-submodule.sh:1261
+#: git-submodule.sh:1262
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr "Gặp lỗi khi đệ quy vào trong đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:1325
+#: git-submodule.sh:1326
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "Url Mô-đun-con đồng bộ hóa cho “$displaypath”"
 
+#~ msgid "key id"
+#~ msgstr "id của khóa"
+
+#~ msgid "Tracking not set up: name too long: %s"
+#~ msgstr "Việc theo dõi chưa được cài đặt: tên quá dài: %s"
+
+#~ msgid "bug"
+#~ msgstr "lỗi"
+
+#~ msgid "ahead "
+#~ msgstr "phía trước "
+
+#~ msgid ", behind "
+#~ msgstr ", đằng sau "
+
+#~ msgid "could not find .gitmodules in index"
+#~ msgstr "không tìm thấy .gitmodules trong bảng mục lục"
+
+#~ msgid "reading updated .gitmodules failed"
+#~ msgstr "gặp lỗi khi đọc cập nhật .gitmodules"
+
+#~ msgid "unable to stat updated .gitmodules"
+#~ msgstr "không thể lấy thống kê .gitmodules đã cập nhật"
+
+#~ msgid "unable to remove .gitmodules from index"
+#~ msgstr "không thể gỡ bỏ .gitmodules từ mục lục"
+
+#~ msgid "adding updated .gitmodules failed"
+#~ msgstr "gặp lỗi khi thêm .gitmodules đã cập nhật"
+
+#~ msgid ""
+#~ "The behavior of 'git add %s (or %s)' with no path argument from a\n"
+#~ "subdirectory of the tree will change in Git 2.0 and should not be used "
+#~ "anymore.\n"
+#~ "To add content for the whole tree, run:\n"
+#~ "\n"
+#~ "  git add %s :/\n"
+#~ "  (or git add %s :/)\n"
+#~ "\n"
+#~ "To restrict the command to the current directory, run:\n"
+#~ "\n"
+#~ "  git add %s .\n"
+#~ "  (or git add %s .)\n"
+#~ "\n"
+#~ "With the current Git version, the command is restricted to the current "
+#~ "directory.\n"
+#~ msgstr ""
+#~ "Cách ứng xử của lệnh “git add %s (hay %s)” khi không có tham số đường dẫn "
+#~ "từ\n"
+#~ "thư-mục con của cây sẽ thay đổi kể từ Git 2.0 và không thể sử dụng như "
+#~ "thế nữa.\n"
+#~ "Để thêm nội dung cho toàn bộ cây, chạy:\n"
+#~ "\n"
+#~ "  git add %s :/\n"
+#~ "  (hoặc git add %s :/)\n"
+#~ "\n"
+#~ "Để hạn chế lệnh cho thư-mục hiện tại, chạy:\n"
+#~ "\n"
+#~ "  git add %s .\n"
+#~ "  (hoặc git add %s .)\n"
+#~ "\n"
+#~ "Với phiên bản hiện tại của Git, lệnh bị hạn chế cho thư-mục hiện tại.\n"
+
+#~ msgid ""
+#~ "You ran 'git add' with neither '-A (--all)' or '--ignore-removal',\n"
+#~ "whose behaviour will change in Git 2.0 with respect to paths you "
+#~ "removed.\n"
+#~ "Paths like '%s' that are\n"
+#~ "removed from your working tree are ignored with this version of Git.\n"
+#~ "\n"
+#~ "* 'git add --ignore-removal <pathspec>', which is the current default,\n"
+#~ "  ignores paths you removed from your working tree.\n"
+#~ "\n"
+#~ "* 'git add --all <pathspec>' will let you also record the removals.\n"
+#~ "\n"
+#~ "Run 'git status' to check the paths you removed from your working tree.\n"
+#~ msgstr ""
+#~ "Bạn chạy “git add” mà không có “-A (--all)” cũng không “--ignore-"
+#~ "removal”,\n"
+#~ "cách ứng xử của nó sẽ thay đổi kể từ Git 2.0: nó quan tâm đến các đường "
+#~ "dẫn mà\n"
+#~ "bạn đã gỡ bỏ. Các đường dẫn như là “%s” cái mà\n"
+#~ "bị gỡ bỏ từ cây làm việc của bạn thì bị bỏ qua với phiên bản này của "
+#~ "Git.\n"
+#~ "\n"
+#~ "* “git add --ignore-removal <pathspec>”, cái hiện tại là mặc định,\n"
+#~ "  bỏ qua các đường dẫn bạn đã gỡ bỏ từ cây làm việc của bạn.\n"
+#~ "\n"
+#~ "* “git add --all <pathspec>” sẽ đồng thời giúp bạn ghi lại việc dời đi.\n"
+#~ "\n"
+#~ "Chạy “git status” để kiểm tra các đường dẫn bạn đã gỡ bỏ từ cây làm việc "
+#~ "của bạn.\n"
+
+#~ msgid ""
+#~ "Auto packing the repository for optimum performance. You may also\n"
+#~ "run \"git gc\" manually. See \"git help gc\" for more information.\n"
+#~ msgstr ""
+#~ "Tự động đóng gói kho chứa để tối ưu hóa hiệu suất làm việc.\n"
+#~ "chạy lệnh \"git gc\" một cách thủ công. Hãy xem \"git help gc\" để biết "
+#~ "thêm chi tiết.\n"
+
+#~ msgid ""
+#~ "Updates were rejected because a pushed branch tip is behind its remote\n"
+#~ "counterpart. If you did not intend to push that branch, you may want to\n"
+#~ "specify branches to push or set the 'push.default' configuration "
+#~ "variable\n"
+#~ "to 'simple', 'current' or 'upstream' to push only the current branch."
+#~ msgstr ""
+#~ "Việc cập nhật bị từ chối bởi vì đầu mút của nhánh được push nằm đằng sau "
+#~ "bộ\n"
+#~ "phận tương ứng của máy chủ. Nếu bạn không có ý định push nhánh đó, bạn có "
+#~ "lẽ muốn\n"
+#~ "chỉ định các nhánh để push hoặt là đặt nội dung cho biến cấu hình “push."
+#~ "default”\n"
+#~ "thành “simple”, “current” hoặc “upstream” để chỉ push nhánh hiện hành mà "
+#~ "thôi."
+
 #~ msgid "copied:     %s -> %s"
 #~ msgstr "đã sao chép:   %s -> %s"
 
@@ -10928,9 +11010,6 @@ msgstr "Url Mô-đun-con đồng bộ hóa cho “$displaypath”"
 #~ msgid "unmerged:   %s"
 #~ msgstr "chưa hòa trộn: %s"
 
-#~ msgid "done\n"
-#~ msgstr "xong\n"
-
 #~ msgid "input paths are terminated by a null character"
 #~ msgstr "các đường dẫn được  ngăn cách bởi ký tự null"
 
@@ -11058,15 +11137,9 @@ msgstr "Url Mô-đun-con đồng bộ hóa cho “$displaypath”"
 #~ msgstr[0] ", %d xóa(-)"
 #~ msgstr[1] ", %d xóa(-)"
 
-#~ 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"
-
 #~ msgid " (use \"git add\" to track)"
 #~ msgstr " (dùng \"git add\" để theo dõi dấu vết)"
 
-#~ msgid "-B cannot be used with -b"
-#~ msgstr "tùy chọn -B không thể dùng -b"
-
 #~ 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"