git-prompt.sh: if pc mode, immediately set PS1 to a plain prompt
[gitweb.git] / po / vi.po
index 4745726a038b966bbd878d387162c3f477f8e8d7..14306667caf91c998d6125f31acbc43fbd89d5fe 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: git v2.1.0-rc0\n"
+"Project-Id-Version: git v2.2.0\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2014-08-04 14:48+0800\n"
-"PO-Revision-Date: 2014-08-05 07:32+0700\n"
+"POT-Creation-Date: 2014-11-20 09:42+0800\n"
+"PO-Revision-Date: 2014-11-20 16:10+0800\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"
@@ -30,107 +30,105 @@ msgstr "gợi ý: %.*s\n"
 #: advice.c:88
 msgid ""
 "Fix them up in the work tree, and then use 'git add/rm <file>'\n"
-"as appropriate to mark resolution and make a commit, or use\n"
-"'git commit -a'."
+"as appropriate to mark resolution and make a commit."
 msgstr ""
 "Sửa chúng trong cây làm việc,\n"
-"và sau đó dùng lệnh \"git add/rm <tập-tin>\" dành riêng\n"
-"cho việc đánh dấu tập tin cần giải quyết và tạo lần chuyển giao,\n"
-"hoặc là dùng lệnh \"git commit -a\"."
+"và sau đó dùng lệnh “git add/rm <tập-tin>”\n"
+"dành riêng cho việc đánh dấu cần giải quyết và tạo lần chuyển giao."
 
-#: archive.c:10
+#: archive.c:11
 msgid "git archive [options] <tree-ish> [<path>...]"
 msgstr "git archive [các-tùy-chọn] <tree-ish> [<đường-dẫn>...]"
 
-#: archive.c:11
+#: archive.c:12
 msgid "git archive --list"
 msgstr "git archive --list"
 
-#: archive.c:12
+#: archive.c:13
 msgid ""
 "git archive --remote <repo> [--exec <cmd>] [options] <tree-ish> [<path>...]"
 msgstr ""
 "git archive --remote <kho> [--exec <lệnh>] [các-tùy-chọn] <tree-ish> [<đường-"
 "dẫn>...]"
 
-#: archive.c:13
+#: archive.c:14
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <kho> [--exec <lệnh>] --list"
 
-#: archive.c:243 builtin/add.c:136 builtin/add.c:427 builtin/rm.c:328
+#: archive.c:334 builtin/add.c:137 builtin/add.c:427 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:328
+#: archive.c:419
 msgid "fmt"
 msgstr "định_dạng"
 
-#: archive.c:328
+#: archive.c:419
 msgid "archive format"
 msgstr "định dạng lưu trữ"
 
-#: archive.c:329 builtin/log.c:1201
+#: archive.c:420 builtin/log.c:1204
 msgid "prefix"
 msgstr "tiền_tố"
 
-#: archive.c:330
+#: archive.c:421
 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:331 builtin/archive.c:88 builtin/blame.c:2517
-#: builtin/blame.c:2518 builtin/config.c:57 builtin/fast-export.c:709
-#: builtin/fast-export.c:711 builtin/grep.c:712 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
+#: archive.c:422 builtin/archive.c:88 builtin/blame.c:2517
+#: builtin/blame.c:2518 builtin/config.c:57 builtin/fast-export.c:986
+#: builtin/fast-export.c:988 builtin/grep.c:712 builtin/hash-object.c:101
+#: builtin/ls-files.c:489 builtin/ls-files.c:492 builtin/notes.c:411
+#: builtin/notes.c:568 builtin/read-tree.c:109 parse-options.h:151
 msgid "file"
 msgstr "tập_tin"
 
-#: archive.c:332 builtin/archive.c:89
+#: archive.c:423 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:334
+#: archive.c:425
 msgid "read .gitattributes in working directory"
 msgstr "đọc .gitattributes trong thư mục làm việc"
 
-#: archive.c:335
+#: archive.c:426
 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:336
+#: archive.c:427
 msgid "store only"
 msgstr "chỉ lưu (không nén)"
 
-#: archive.c:337
+#: archive.c:428
 msgid "compress faster"
 msgstr "nén nhanh hơn"
 
-#: archive.c:345
+#: archive.c:436
 msgid "compress better"
 msgstr "nén nhỏ hơn"
 
-#: archive.c:348
+#: archive.c:439
 msgid "list supported archive formats"
 msgstr "liệt kê các kiểu nén được hỗ trợ"
 
-#: archive.c:350 builtin/archive.c:90 builtin/clone.c:84
+#: archive.c:441 builtin/archive.c:90 builtin/clone.c:85
 msgid "repo"
 msgstr "kho"
 
-#: archive.c:351 builtin/archive.c:91
+#: archive.c:442 builtin/archive.c:91
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "nhận kho nén từ kho chứa <kho> trên máy chủ"
 
-#: archive.c:352 builtin/archive.c:92 builtin/notes.c:491
+#: archive.c:443 builtin/archive.c:92 builtin/notes.c:490
 msgid "command"
 msgstr "lệnh"
 
-#: archive.c:353 builtin/archive.c:93
+#: archive.c:444 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ủ"
 
-#: attr.c:259
+#: attr.c:258
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -189,33 +187,33 @@ msgstr "Nhánh %s cài đặt để theo dõi tham chiếu nội bộ %s."
 msgid "Not tracking: ambiguous information for ref %s"
 msgstr "Không theo dõi: thông tin chưa rõ ràng cho tham chiếu %s"
 
-#: branch.c:178
+#: branch.c:162
 #, 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:183
+#: branch.c:167
 #, c-format
 msgid "A branch named '%s' already exists."
 msgstr "Đã có nhánh mang tên “%s”."
 
-#: branch.c:191
+#: branch.c:175
 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:211
+#: branch.c:195
 #, 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:213
+#: branch.c:197
 #, 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:215
+#: branch.c:199
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
@@ -235,106 +233,104 @@ 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:260
+#: branch.c:243
 #, 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:280
+#: branch.c:263
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr "Tên đối tượng chưa rõ ràng: “%s”."
 
-#: branch.c:285
+#: branch.c:268
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr "Nhánh không hợp lệ: “%s”."
 
-#: 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:309
-msgid "Failed to write ref"
-msgstr "Gặp lỗi khi ghi tham chiếu (ref)"
-
-#: bundle.c:33
+#: bundle.c:34
 #, 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:60
+#: bundle.c:61
 #, c-format
 msgid "unrecognized header: %s%s (%d)"
 msgstr "phần đầu không được thừa nhận: %s%s (%d)"
 
-#: bundle.c:86 builtin/commit.c:755
+#: bundle.c:87 builtin/commit.c:788
 #, c-format
 msgid "could not open '%s'"
 msgstr "không thể mở “%s”"
 
-#: bundle.c:138
+#: bundle.c:139
 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:162 sequencer.c:630 sequencer.c:1085 builtin/log.c:330
-#: builtin/log.c:821 builtin/log.c:1428 builtin/log.c:1665 builtin/merge.c:357
+#: bundle.c:163 sequencer.c:641 sequencer.c:1096 builtin/blame.c:2706
+#: builtin/branch.c:652 builtin/commit.c:1085 builtin/log.c:330
+#: builtin/log.c:823 builtin/log.c:1432 builtin/log.c:1669 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:184
+#: bundle.c:185
 #, 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):"
+msgstr[0] "Bundle chứa tham chiếu này:"
+msgstr[1] "Bundle chứa %d tham chiếu:"
 
-#: bundle.c:191
+#: bundle.c:192
 msgid "The bundle records a complete history."
 msgstr "Lệnh bundle ghi lại toàn bộ lịch sử."
 
-#: bundle.c:193
+#: bundle.c:194
 #, 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:"
+msgstr[1] "Lệnh bundle yêu cầu %d tham chiếu này:"
 
-#: bundle.c:289
+#: bundle.c:251
+msgid "Could not spawn pack-objects"
+msgstr "Không thể sản sinh đối tượng gói"
+
+#: bundle.c:269
+msgid "pack-objects died"
+msgstr "đối tượng gói đã chết"
+
+#: bundle.c:309
 msgid "rev-list died"
 msgstr "rev-list đã chết"
 
-#: bundle.c:295 builtin/log.c:1339 builtin/shortlog.c:261
-#, c-format
-msgid "unrecognized argument: %s"
-msgstr "đối số không được thừa nhận: %s"
-
-#: bundle.c:330
+#: bundle.c:358
 #, 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:375
+#: bundle.c:438 builtin/log.c:153 builtin/log.c:1342 builtin/shortlog.c:261
+#, c-format
+msgid "unrecognized argument: %s"
+msgstr "đối số không được thừa nhận: %s"
+
+#: bundle.c:444
 msgid "Refusing to create empty bundle."
 msgstr "Từ chối tạo một bundle trống rỗng."
 
-#: bundle.c:390
-msgid "Could not spawn pack-objects"
-msgstr "Không thể sản sinh đối tượng gói"
-
-#: bundle.c:408
-msgid "pack-objects died"
-msgstr "pack-objects đã chết"
-
-#: bundle.c:411
+#: bundle.c:454
 #, c-format
 msgid "cannot create '%s'"
 msgstr "không thể tạo “%s”"
 
-#: bundle.c:433
+#: bundle.c:475
 msgid "index-pack died"
-msgstr "index-pack đã chết"
+msgstr "mục lục gói đã chết"
+
+#: color.c:157
+#, c-format
+msgid "invalid color value: %.*s"
+msgstr "giá trị màu không hợp lệ: %.*s"
 
 #: commit.c:40
 #, c-format
@@ -344,22 +340,75 @@ msgstr "không thể phân tích cú pháp %s"
 #: commit.c:42
 #, c-format
 msgid "%s %s is not a commit!"
-msgstr "%s %s không phải là một lần commit!"
+msgstr "%s %s không phải là một lần chuyển giao!"
 
 #: compat/obstack.c:406 compat/obstack.c:408
 msgid "memory exhausted"
 msgstr "hết bộ nhớ"
 
-#: connected.c:70
+#: config.c:469 config.c:471
+#, c-format
+msgid "bad config file line %d in %s"
+msgstr "tập tin cấu hình sai tại dòng %d trong %s"
+
+#: config.c:587
+#, c-format
+msgid "bad numeric config value '%s' for '%s' in %s: %s"
+msgstr "sai giá trị bằng số của cấu hình “%s” cho “%s” trong %s: %s"
+
+#: config.c:589
+#, c-format
+msgid "bad numeric config value '%s' for '%s': %s"
+msgstr "sai giá trị bằng số của cấu hình “%s” cho “%s”: %s"
+
+#: config.c:674
+#, c-format
+msgid "failed to expand user dir in: '%s'"
+msgstr "gặp lỗi mở rộng thư mục người dùng trong: “%s”"
+
+#: config.c:752 config.c:763
+#, c-format
+msgid "bad zlib compression level %d"
+msgstr "mức nén zlib %d là sai"
+
+#: config.c:885
+#, c-format
+msgid "invalid mode for object creation: %s"
+msgstr "chế độ không hợp lệ đối với việc tạo đối tượng: %s"
+
+#: config.c:1201
+msgid "unable to parse command-line config"
+msgstr "không thể phân tích cấu hình dòng lệnh"
+
+#: config.c:1262
+msgid "unknown error occured while reading the configuration files"
+msgstr "đã có lỗi chưa biết xảy ra trong khi đọc các tập tin cấu hình"
+
+#: config.c:1586
+#, c-format
+msgid "unable to parse '%s' from command-line config"
+msgstr "không thể phân tích “%s” từ cấu hình dòng lệnh"
+
+#: config.c:1588
+#, c-format
+msgid "bad config variable '%s' in file '%s' at line %d"
+msgstr "sai biến cấu hình “%s” trong tập tin “%s” tại dòng %d"
+
+#: config.c:1647
+#, c-format
+msgid "%s has multiple values"
+msgstr "%s có đa giá trị"
+
+#: connected.c:69
 msgid "Could not run 'git rev-list'"
 msgstr "Không thể chạy “git rev-list”"
 
-#: connected.c:90
+#: connected.c:89
 #, c-format
 msgid "failed write to rev-list: %s"
 msgstr "gặp lỗi khi ghi vào rev-list: %s"
 
-#: connected.c:98
+#: connected.c:97
 #, c-format
 msgid "failed to close rev-list's stdin: %s"
 msgstr "gặp lỗi khi đóng đầu vào chuẩn stdin của rev-list: %s"
@@ -437,7 +486,7 @@ 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:514
+#: diffcore-rename.c:516
 msgid "Performing inexact rename detection"
 msgstr "Đang thực hiện dò tìm đổi tên không chính xác"
 
@@ -456,7 +505,7 @@ msgstr "  Không hiểu đối số dirstat “%s”\n"
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "Không hiểu giá trị cho biến cấu hình “diff.submodule”: “%s”"
 
-#: diff.c:267
+#: diff.c:266
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -465,16 +514,16 @@ msgstr ""
 "Tìm thấy các lỗi trong biến cấu hình “diff.dirstat”:\n"
 "%s"
 
-#: diff.c:2934
+#: diff.c:2957
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "phần mềm diff ở bên ngoài đã chết, dừng tại %s"
 
-#: diff.c:3329
+#: diff.c:3352
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow cần chính xác một đặc tả đường dẫn"
 
-#: diff.c:3492
+#: diff.c:3515
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -483,44 +532,44 @@ msgstr ""
 "Gặp lỗi khi phân tích đối số tùy chọn --dirstat/-X:\n"
 "%s"
 
-#: diff.c:3506
+#: diff.c:3529
 #, 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”"
 
-#: gpg-interface.c:73 gpg-interface.c:145
+#: gpg-interface.c:129 gpg-interface.c:200
 msgid "could not run gpg."
 msgstr "không thể chạy gpg."
 
-#: gpg-interface.c:85
+#: gpg-interface.c:141
 msgid "gpg did not accept the data"
 msgstr "gpg đã không chấp nhận dữ liệu"
 
-#: gpg-interface.c:96
+#: gpg-interface.c:152
 msgid "gpg failed to sign the data"
 msgstr "gpg gặp lỗi khi ký dữ liệu"
 
-#: gpg-interface.c:129
+#: gpg-interface.c:185
 #, c-format
 msgid "could not create temporary file '%s': %s"
 msgstr "không thể tạo tập tin tạm thời “%s”: %s"
 
-#: gpg-interface.c:132
+#: gpg-interface.c:188
 #, c-format
 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:1703
+#: grep.c:1718
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "“%s”: không thể đọc %s"
 
-#: grep.c:1720
+#: grep.c:1735
 #, c-format
 msgid "'%s': %s"
 msgstr "“%s”: %s"
 
-#: grep.c:1731
+#: grep.c:1746
 #, c-format
 msgid "'%s': short read %s"
 msgstr "“%s”: đọc ngắn %s"
@@ -589,87 +638,95 @@ msgstr[1] ""
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
 
-#: merge.c:40
+#: lockfile.c:275
+msgid "BUG: reopen a lockfile that is still open"
+msgstr "LỖI: mở lại tập tin khóa mà nó lại đang được mở"
+
+#: lockfile.c:277
+msgid "BUG: reopen a lockfile that has been committed"
+msgstr "LỖI: mở lại tập tin khóa mà nó đã được chuyển giao"
+
+#: merge.c:41
 msgid "failed to read the cache"
 msgstr "gặp lỗi khi đọc bộ nhớ đệm"
 
-#: merge.c:93 builtin/checkout.c:356 builtin/checkout.c:556
-#: builtin/clone.c:661
+#: merge.c:94 builtin/checkout.c:356 builtin/checkout.c:562
+#: builtin/clone.c:659
 msgid "unable to write new index file"
 msgstr "không thể ghi tập tin lưu bảng mục lục mới"
 
-#: merge-recursive.c:190
+#: merge-recursive.c:189
 #, c-format
 msgid "(bad commit)\n"
 msgstr "(commit sai)\n"
 
-#: merge-recursive.c:210
+#: merge-recursive.c:209
 #, 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:271
+#: merge-recursive.c:270
 msgid "error building trees"
 msgstr "gặp lỗi khi xây dựng cây"
 
-#: merge-recursive.c:692
+#: merge-recursive.c:691
 #, 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:703
+#: merge-recursive.c:702
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "Gỡ bỏ %s để tạo chỗ (room) cho thư mục con\n"
 
-#: merge-recursive.c:717 merge-recursive.c:738
+#: merge-recursive.c:716 merge-recursive.c:737
 msgid ": perhaps a D/F conflict?"
 msgstr ": có lẽ là một xung đột D/F?"
 
-#: merge-recursive.c:728
+#: merge-recursive.c:727
 #, 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:768
+#: merge-recursive.c:767
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "không thể đọc đối tượng %s “%s”"
 
-#: merge-recursive.c:770
+#: merge-recursive.c:769
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "đối tượng blob được mong đợi cho %s “%s”"
 
-#: merge-recursive.c:793 builtin/clone.c:317
+#: merge-recursive.c:792 builtin/clone.c:318
 #, c-format
 msgid "failed to open '%s'"
 msgstr "gặp lỗi khi mở “%s”"
 
-#: merge-recursive.c:801
+#: merge-recursive.c:800
 #, 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:804
+#: merge-recursive.c:803
 #, 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:942
+#: merge-recursive.c:941
 msgid "Failed to execute internal merge"
 msgstr "Gặp lỗi khi thực hiện trộn nội bộ"
 
-#: merge-recursive.c:946
+#: merge-recursive.c:945
 #, 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:962
+#: merge-recursive.c:961
 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:1037 merge-recursive.c:1051
+#: merge-recursive.c:1036 merge-recursive.c:1050
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -678,7 +735,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:1043 merge-recursive.c:1056
+#: merge-recursive.c:1042 merge-recursive.c:1055
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -687,20 +744,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:1097
+#: merge-recursive.c:1096
 msgid "rename"
 msgstr "đổi tên"
 
-#: merge-recursive.c:1097
+#: merge-recursive.c:1096
 msgid "renamed"
 msgstr "đã đổi tên"
 
-#: merge-recursive.c:1153
+#: merge-recursive.c:1152
 #, 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:1175
+#: merge-recursive.c:1174
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -709,146 +766,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:1180
+#: merge-recursive.c:1179
 msgid " (left unresolved)"
 msgstr " (cần giải quyết)"
 
-#: merge-recursive.c:1234
+#: merge-recursive.c:1233
 #, 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:1264
+#: merge-recursive.c:1263
 #, 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:1463
+#: merge-recursive.c:1462
 #, 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:1473
+#: merge-recursive.c:1472
 #, c-format
 msgid "Adding merged %s"
 msgstr "Thêm hòa trộn %s"
 
-#: merge-recursive.c:1478 merge-recursive.c:1676
+#: merge-recursive.c:1477 merge-recursive.c:1675
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Thay vào đó thêm vào %s"
 
-#: merge-recursive.c:1529
+#: merge-recursive.c:1528
 #, c-format
 msgid "cannot read object %s"
 msgstr "không thể đọc đối tượng %s"
 
-#: merge-recursive.c:1532
+#: merge-recursive.c:1531
 #, 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:1580
+#: merge-recursive.c:1579
 msgid "modify"
 msgstr "sửa đổi"
 
-#: merge-recursive.c:1580
+#: merge-recursive.c:1579
 msgid "modified"
 msgstr "đã sửa"
 
-#: merge-recursive.c:1590
+#: merge-recursive.c:1589
 msgid "content"
 msgstr "nội dung"
 
-#: merge-recursive.c:1597
+#: merge-recursive.c:1596
 msgid "add/add"
 msgstr "thêm/thêm"
 
-#: merge-recursive.c:1631
+#: merge-recursive.c:1630
 #, 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:1645
+#: merge-recursive.c:1644
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Tự-động-hòa-trộn %s"
 
-#: merge-recursive.c:1649 git-submodule.sh:1150
+#: merge-recursive.c:1648 git-submodule.sh:1150
 msgid "submodule"
 msgstr "mô-đun-con"
 
-#: merge-recursive.c:1650
+#: merge-recursive.c:1649
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "XUNG ĐỘT (%s): Xung đột hòa trộn trong %s"
 
-#: merge-recursive.c:1740
+#: merge-recursive.c:1735
 #, c-format
 msgid "Removing %s"
 msgstr "Đang xóa %s"
 
-#: merge-recursive.c:1765
+#: merge-recursive.c:1760
 msgid "file/directory"
 msgstr "tập-tin/thư-mục"
 
-#: merge-recursive.c:1771
+#: merge-recursive.c:1766
 msgid "directory/file"
 msgstr "thư-mục/tập tin"
 
-#: merge-recursive.c:1776
+#: merge-recursive.c:1771
 #, 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:1786
+#: merge-recursive.c:1781
 #, c-format
 msgid "Adding %s"
 msgstr "Thêm \"%s\""
 
-#: merge-recursive.c:1803
+#: merge-recursive.c:1798
 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:1822
+#: merge-recursive.c:1817
 msgid "Already up-to-date!"
 msgstr "Đã cập nhật rồi!"
 
-#: merge-recursive.c:1831
+#: merge-recursive.c:1826
 #, 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:1861
+#: merge-recursive.c:1856
 #, c-format
 msgid "Unprocessed path??? %s"
 msgstr "Đường dẫn chưa được xử lý??? %s"
 
-#: merge-recursive.c:1906
+#: merge-recursive.c:1901
 msgid "Merging:"
 msgstr "Đang trộn:"
 
-#: merge-recursive.c:1919
+#: merge-recursive.c:1914
 #, 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:1956
+#: merge-recursive.c:1951
 msgid "merge returned no commit"
 msgstr "hòa trộn không trả về lần chuyển giao nào"
 
-#: merge-recursive.c:2013
+#: merge-recursive.c:2008
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Không thể phân tích đối tượng “%s”"
 
-#: merge-recursive.c:2024 builtin/merge.c:666
+#: merge-recursive.c:2019 builtin/merge.c:666
 msgid "Unable to write index."
 msgstr "Không thể ghi bảng mục lục"
 
@@ -875,33 +932,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:234
+#: object.c:241
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "không thể phân tích đối tượng: “%s”"
 
-#: parse-options.c:534
+#: parse-options.c:546
 msgid "..."
 msgstr "..."
 
-#: parse-options.c:552
+#: parse-options.c:564
 #, 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:556
+#: parse-options.c:568
 #, c-format
 msgid "   or: %s"
 msgstr "     hoặc: %s"
 
-#: parse-options.c:559
+#: parse-options.c:571
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: parse-options.c:593
+#: parse-options.c:605
 msgid "-NUM"
 msgstr "-SỐ"
 
@@ -970,11 +1027,15 @@ 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à “.”?"
 
+#: pretty.c:968
+msgid "unable to parse --pretty format"
+msgstr "không thể phân tích định dạng --pretty"
+
 #: progress.c:225
 msgid "done"
 msgstr "xong"
 
-#: read-cache.c:1260
+#: read-cache.c:1261
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -983,7 +1044,7 @@ msgstr ""
 "index.version được đặt, nhưng giá trị của nó lại không hợp lệ.\n"
 "Dùng phiên bản %i"
 
-#: read-cache.c:1270
+#: read-cache.c:1271
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -992,52 +1053,52 @@ 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:753
+#: remote.c:782
 #, 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:786
 #, 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:790
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s theo dõi cả %s và %s"
 
-#: remote.c:769
+#: remote.c:798
 msgid "Internal error"
 msgstr "Lỗi nội bộ"
 
-#: remote.c:1943
+#: remote.c:1968
 #, 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:1947
+#: remote.c:1972
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "   (dùng \" git branch --unset-upstream\" để sửa)\n"
 
-#: remote.c:1950
+#: remote.c:1975
 #, 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:1954
+#: remote.c:1979
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "Nhánh của bạn đứng trước “%s” %d lần chuyển giao.\n"
 msgstr[1] "Nhánh của bạn đứng trước “%s” %d lần chuyển giao.\n"
 
-#: remote.c:1960
+#: remote.c:1985
 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:1963
+#: remote.c:1988
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -1049,11 +1110,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:1971
+#: remote.c:1996
 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:1974
+#: remote.c:1999
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -1070,34 +1131,42 @@ msgstr[1] ""
 "và có %d và %d lần chuyển giao khác nhau cho từng cái,\n"
 "tương ứng với mỗi lần.\n"
 
-#: remote.c:1984
+#: remote.c:2009
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr ""
 "  (dùng \"git pull\" để hòa trộn nhánh trên máy chủ vào trong nhánh của "
 "bạn)\n"
 
-#: run-command.c:80
+#: run-command.c:87
 msgid "open /dev/null failed"
 msgstr "gặp lỗi khi mở “/dev/null”"
 
-#: run-command.c:82
+#: run-command.c:89
 #, c-format
 msgid "dup2(%d,%d) failed"
 msgstr "dup2(%d,%d) gặp lỗi"
 
-#: sequencer.c:171 builtin/merge.c:782 builtin/merge.c:893
-#: builtin/merge.c:1003 builtin/merge.c:1013
+#: send-pack.c:265
+msgid "failed to sign the push certificate"
+msgstr "gặp lỗi khi ký chứng thực đẩy"
+
+#: send-pack.c:322
+msgid "the receiving end does not support --signed push"
+msgstr "kết thúc nhận không hỗ trợ đẩy --signed"
+
+#: sequencer.c:172 builtin/merge.c:781 builtin/merge.c:892
+#: builtin/merge.c:1002 builtin/merge.c:1012
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "Không thể mở “%s” để ghi"
 
-#: sequencer.c:173 builtin/merge.c:343 builtin/merge.c:785
-#: builtin/merge.c:1005 builtin/merge.c:1018
+#: sequencer.c:174 builtin/merge.c:343 builtin/merge.c:784
+#: builtin/merge.c:1004 builtin/merge.c:1017
 #, c-format
 msgid "Could not write to '%s'"
 msgstr "Không thể ghi vào “%s”"
 
-#: sequencer.c:194
+#: sequencer.c:195
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -1105,7 +1174,7 @@ msgstr ""
 "sau khi giải quyết các xung đột, đánh dấu đường dẫn đã sửa\n"
 "với lệnh “git add <đường_dẫn>” hoặc “git rm <đường_dẫn>”"
 
-#: sequencer.c:197
+#: sequencer.c:198
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -1115,71 +1184,67 @@ 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:210 sequencer.c:841 sequencer.c:924
+#: sequencer.c:211 sequencer.c:852 sequencer.c:935
 #, c-format
 msgid "Could not write to %s"
 msgstr "Không thể ghi vào %s"
 
-#: sequencer.c:213
+#: sequencer.c:214
 #, c-format
 msgid "Error wrapping up %s"
 msgstr "Lỗi bao bọc %s"
 
-#: sequencer.c:228
+#: sequencer.c:229
 msgid "Your local changes would be overwritten by cherry-pick."
 msgstr "Các thay đổi nội bộ của bạn có thể bị ghi đè bởi lệnh cherry-pick."
 
-#: sequencer.c:230
+#: sequencer.c:231
 msgid "Your local changes would be overwritten by revert."
 msgstr "Các thay đổi nội bộ của bạn có thể bị ghi đè bởi lệnh revert."
 
-#: sequencer.c:233
+#: sequencer.c:234
 msgid "Commit your changes or stash them to proceed."
 msgstr "Chuyển giao các thay đổi của bạn hay tạm cất (stash) chúng để xử lý."
 
-#: sequencer.c:250
-msgid "Failed to lock HEAD during fast_forward_to"
-msgstr "Gặp lỗi khi khóa HEAD trong quá trình fast_forward_to"
-
 #. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:293
+#: sequencer.c:304
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: Không thể ghi tập tin lưu bảng mục lục mới"
 
-#: sequencer.c:324
+#: sequencer.c:335
 msgid "Could not resolve HEAD commit\n"
 msgstr "Không thể phân giải commit (lần chuyển giao) HEAD\n"
 
-#: sequencer.c:344
+#: sequencer.c:355
 msgid "Unable to update cache tree\n"
 msgstr "Không thể cập nhật cây bộ nhớ đệm\n"
 
-#: sequencer.c:391
+#: sequencer.c:402
 #, 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:396
+#: sequencer.c:407
 #, 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:462
+#: sequencer.c:473
 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:481
+#: sequencer.c:492
 #, 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:489
+#: sequencer.c:500
 #, 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:493
+#: sequencer.c:504
 #, c-format
 msgid "Mainline was specified but commit %s is not a merge."
 msgstr ""
@@ -1188,157 +1253,157 @@ msgstr ""
 
 #. TRANSLATORS: The first %s will be "revert" or
 #. "cherry-pick", the second %s a SHA1
-#: sequencer.c:506
+#: sequencer.c:517
 #, 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:510
+#: sequencer.c:521
 #, 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:596
+#: sequencer.c:607
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "không thể revert %s... %s"
 
-#: sequencer.c:597
+#: sequencer.c:608
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "không thể apply (áp dụng miếng vá) %s... %s"
 
-#: sequencer.c:633
+#: sequencer.c:644
 msgid "empty commit set passed"
 msgstr "lần chuyển giao trống rỗng đặt là hợp quy cách"
 
-#: sequencer.c:641
+#: sequencer.c:652
 #, 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:645
+#: sequencer.c:656
 #, 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:705
+#: sequencer.c:716
 #, c-format
 msgid "Cannot %s during a %s"
 msgstr "Không thể %s trong khi %s"
 
-#: sequencer.c:727
+#: sequencer.c:738
 #, c-format
 msgid "Could not parse line %d."
 msgstr "Không phân tích được dòng %d."
 
-#: sequencer.c:732
+#: sequencer.c:743
 msgid "No commits parsed."
 msgstr "Không có lần chuyển giao nào được phân tích."
 
-#: sequencer.c:745
+#: sequencer.c:756
 #, c-format
 msgid "Could not open %s"
 msgstr "Không thể mở %s"
 
-#: sequencer.c:749
+#: sequencer.c:760
 #, c-format
 msgid "Could not read %s."
 msgstr "Không thể đọc %s."
 
-#: sequencer.c:756
+#: sequencer.c:767
 #, c-format
 msgid "Unusable instruction sheet: %s"
 msgstr "Bảng chỉ thị không thể dùng được: %s"
 
-#: sequencer.c:786
+#: sequencer.c:797
 #, c-format
 msgid "Invalid key: %s"
 msgstr "Khóa không đúng: %s"
 
-#: sequencer.c:789
+#: sequencer.c:800
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "Giá trị không hợp lệ %s: %s"
 
-#: sequencer.c:801
+#: sequencer.c:812
 #, c-format
 msgid "Malformed options sheet: %s"
 msgstr "Bảng tùy chọn dị hình: %s"
 
-#: sequencer.c:822
+#: sequencer.c:833
 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:823
+#: sequencer.c:834
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "hãy thử \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:827
+#: sequencer.c:838
 #, 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:843 sequencer.c:928
+#: sequencer.c:854 sequencer.c:939
 #, c-format
 msgid "Error wrapping up %s."
 msgstr "Lỗi bao bọc %s."
 
-#: sequencer.c:862 sequencer.c:998
+#: sequencer.c:873 sequencer.c:1009
 msgid "no cherry-pick or revert in progress"
 msgstr "không cherry-pick hay revert trong tiến trình"
 
-#: sequencer.c:864
+#: sequencer.c:875
 msgid "cannot resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: sequencer.c:866
+#: sequencer.c:877
 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:888 builtin/apply.c:4062
+#: sequencer.c:899 builtin/apply.c:4128
 #, c-format
 msgid "cannot open %s: %s"
 msgstr "không thể mở %s: %s"
 
-#: sequencer.c:891
+#: sequencer.c:902
 #, c-format
 msgid "cannot read %s: %s"
 msgstr "không thể đọc %s: %s"
 
-#: sequencer.c:892
+#: sequencer.c:903
 msgid "unexpected end of file"
 msgstr "gặp kết thúc tập tin đột xuất"
 
-#: sequencer.c:898
+#: sequencer.c:909
 #, 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:921
+#: sequencer.c:932
 #, c-format
 msgid "Could not format %s."
 msgstr "Không thể định dạng “%s”."
 
-#: sequencer.c:1066
+#: sequencer.c:1077
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: không thể cherry-pick một %s"
 
-#: sequencer.c:1069
+#: sequencer.c:1080
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: điểm xét duyệt sai"
 
-#: sequencer.c:1103
+#: sequencer.c:1114
 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:1104
+#: sequencer.c:1115
 msgid "Can't cherry-pick into empty head"
 msgstr "Không thể cherry-pick vào một đầu (head) trống rỗng"
 
-#: sha1_name.c:439
+#: sha1_name.c:440
 msgid ""
 "Git normally never creates a ref that ends with 40 hex characters\n"
 "because it will be ignored when you just specify 40-hex. These refs\n"
@@ -1362,21 +1427,21 @@ msgstr ""
 "này\n"
 "bằng cách chạy lệnh \"git config advice.objectNameWarning false\""
 
-#: sha1_name.c:1060
+#: sha1_name.c:1068
 msgid "HEAD does not point to a branch"
 msgstr "HEAD không chỉ đến một nhánh nào cả"
 
-#: sha1_name.c:1063
+#: sha1_name.c:1071
 #, c-format
 msgid "No such branch: '%s'"
 msgstr "Không có nhánh nào như thế: “%s”"
 
-#: sha1_name.c:1065
+#: sha1_name.c:1073
 #, 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:1069
+#: sha1_name.c:1077
 #, c-format
 msgid "Upstream branch '%s' not stored as a remote-tracking branch"
 msgstr ""
@@ -1407,16 +1472,41 @@ msgstr "Không thể gỡ bỏ mục .gitmodules dành cho %s"
 msgid "staging updated .gitmodules failed"
 msgstr "gặp lỗi khi tổ chức .gitmodules đã cập nhật"
 
-#: submodule.c:1118 builtin/init-db.c:363
+#: submodule.c:1111 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:1129
+#: submodule.c:1122
 #, c-format
 msgid "Could not set core.worktree in %s"
 msgstr "Không thể đặt “core.worktree” trong “%s”."
 
+#: trailer.c:499 trailer.c:503 trailer.c:507 trailer.c:561 trailer.c:565
+#: trailer.c:569
+#, c-format
+msgid "unknown value '%s' for key '%s'"
+msgstr "không hiểu giá trị “%s” cho khóa “%s”"
+
+#: trailer.c:551 trailer.c:556 builtin/remote.c:288
+#, c-format
+msgid "more than one %s"
+msgstr "nhiều hơn một %s"
+
+#: trailer.c:589
+#, c-format
+msgid "empty trailer token in trailer '%.*s'"
+msgstr "thẻ thừa trống rỗng trong phần thừa “%.*s”"
+
+#: trailer.c:709
+#, c-format
+msgid "could not read input file '%s'"
+msgstr "không đọc được tập tin đầu vào “%s”"
+
+#: trailer.c:712
+msgid "could not read from stdin"
+msgstr "không thể đọc từ đầu vào tiêu chuẩn"
+
 #: unpack-trees.c:202
 msgid "Checking out files"
 msgstr "Đang lấy ra các tập tin"
@@ -1450,25 +1540,29 @@ msgstr "tên cổng không hợp lệ"
 msgid "invalid '..' path segment"
 msgstr "đoạn đường dẫn “..” không hợp lệ"
 
-#: wrapper.c:460
+#: wrapper.c:509
 #, c-format
 msgid "unable to access '%s': %s"
 msgstr "không thể truy cập “%s”: %s"
 
-#: wrapper.c:481
+#: wrapper.c:530
 #, c-format
 msgid "unable to access '%s'"
 msgstr "không thể truy cập “%s”"
 
-#: wrapper.c:492
+#: wrapper.c:541
 #, c-format
 msgid "unable to look up current user in the passwd file: %s"
 msgstr "không tìm thấy người dùng hiện tại trong tập tin passwd: %s"
 
-#: wrapper.c:493
+#: wrapper.c:542
 msgid "no such user"
 msgstr "không có người dùng như vậy"
 
+#: wrapper.c:550
+msgid "unable to get current working directory"
+msgstr "Không thể lấy thư mục làm việc hiện hành"
+
 #: wt-status.c:150
 msgid "Unmerged paths:"
 msgstr "Những đường dẫn chưa được hòa trộn:"
@@ -1614,15 +1708,15 @@ msgstr "nội dung chưa được theo dõi, "
 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:764
+#: wt-status.c:761
 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:766
+#: wt-status.c:763
 msgid "Submodule changes to be committed:"
 msgstr "Những mô-đun-con thay đổi đã được chuyển giao:"
 
-#: wt-status.c:845
+#: wt-status.c:842
 msgid ""
 "Do not touch the line above.\n"
 "Everything below will be removed."
@@ -1630,72 +1724,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:936
+#: wt-status.c:933
 msgid "You have unmerged paths."
 msgstr "Bạn có những đường dẫn chưa được hòa trộn."
 
-#: wt-status.c:939
+#: wt-status.c:936
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (sửa các xung đột rồi chạy \"git commit\")"
 
-#: wt-status.c:942
+#: wt-status.c:939
 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:945
+#: wt-status.c:942
 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:955
+#: wt-status.c:952
 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:958
+#: wt-status.c:955
 msgid "The current patch is empty."
 msgstr "Miếng vá hiện tại bị trống rỗng."
 
-#: wt-status.c:962
+#: wt-status.c:959
 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:964
+#: wt-status.c:961
 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:966
+#: wt-status.c:963
 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:1026 wt-status.c:1043
+#: wt-status.c:1023 wt-status.c:1040
 #, 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:1031 wt-status.c:1048
+#: wt-status.c:1028 wt-status.c:1045
 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:1034
+#: wt-status.c:1031
 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:1036
+#: wt-status.c:1033
 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:1038
+#: wt-status.c:1035
 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:1051
+#: wt-status.c:1048
 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:1055
+#: wt-status.c:1052
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -1703,126 +1797,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:1060
+#: wt-status.c:1057
 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:1063
+#: wt-status.c:1060
 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:1067
+#: wt-status.c:1064
 #, 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:1072
+#: wt-status.c:1069
 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:1075
+#: wt-status.c:1072
 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:1077
+#: wt-status.c:1074
 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:1087
+#: wt-status.c:1084
 #, 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:1092
+#: wt-status.c:1089
 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:1095
+#: wt-status.c:1092
 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:1097
+#: wt-status.c:1094
 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:1106
+#: wt-status.c:1103
 #, 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:1111
+#: wt-status.c:1108
 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:1114
+#: wt-status.c:1111
 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:1116
+#: wt-status.c:1113
 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:1127
+#: wt-status.c:1124
 #, 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:1131
+#: wt-status.c:1128
 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:1134
+#: wt-status.c:1131
 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:1309
+#: wt-status.c:1306
 msgid "On branch "
 msgstr "Trên nhánh "
 
-#: wt-status.c:1316
+#: wt-status.c:1313
 msgid "rebase in progress; onto "
 msgstr "rebase đang được thực hiện: lên trên "
 
-#: wt-status.c:1323
+#: wt-status.c:1320
 msgid "HEAD detached at "
 msgstr "HEAD được tách rời tại "
 
-#: wt-status.c:1325
+#: wt-status.c:1322
 msgid "HEAD detached from "
 msgstr "HEAD được tách rời từ "
 
-#: wt-status.c:1328
+#: wt-status.c:1325
 msgid "Not currently on any branch."
 msgstr "Hiện tại chẳng ở nhánh nào cả."
 
-#: wt-status.c:1345
+#: wt-status.c:1342
 msgid "Initial commit"
 msgstr "Lần chuyển giao khởi tạo"
 
-#: wt-status.c:1359
+#: wt-status.c:1356
 msgid "Untracked files"
 msgstr "Những tập tin chưa được theo dõi"
 
-#: wt-status.c:1361
+#: wt-status.c:1358
 msgid "Ignored files"
 msgstr "Những tập tin bị lờ đi"
 
-#: wt-status.c:1365
+#: wt-status.c:1362
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -1834,32 +1928,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:1371
+#: wt-status.c:1368
 #, 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:1373
+#: wt-status.c:1370
 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:1379
+#: wt-status.c:1376
 msgid "No changes"
 msgstr "Không có thay đổi nào"
 
-#: wt-status.c:1384
+#: wt-status.c:1381
 #, 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:1387
+#: wt-status.c:1384
 #, 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:1390
+#: wt-status.c:1387
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -1868,99 +1962,99 @@ 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:1393
+#: wt-status.c:1390
 #, 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:1396
+#: wt-status.c:1393
 #, 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:1399 wt-status.c:1404
+#: wt-status.c:1396 wt-status.c:1401
 #, c-format
 msgid "nothing to commit\n"
 msgstr "không có gì để chuyển giao\n"
 
-#: wt-status.c:1402
+#: wt-status.c:1399
 #, 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:1406
+#: wt-status.c:1403
 #, 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:1515
+#: wt-status.c:1512
 msgid "HEAD (no branch)"
 msgstr "HEAD (không nhánh)"
 
-#: wt-status.c:1521
+#: wt-status.c:1518
 msgid "Initial commit on "
 msgstr "Lần chuyển giao khởi tạo trên "
 
-#: wt-status.c:1553
+#: wt-status.c:1550
 msgid "gone"
 msgstr "đã ra đi"
 
-#: wt-status.c:1555 wt-status.c:1563
+#: wt-status.c:1552 wt-status.c:1560
 msgid "behind "
 msgstr "đằng sau "
 
-#: compat/precompose_utf8.c:55 builtin/clone.c:356
+#: compat/precompose_utf8.c:55 builtin/clone.c:357
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "gặp lỗi khi bỏ liên kết (unlink) “%s”"
 
-#: builtin/add.c:21
+#: builtin/add.c:22
 msgid "git add [options] [--] <pathspec>..."
 msgstr "git add [các-tùy-chọn] [--]  <pathspec>..."
 
-#: builtin/add.c:64
+#: builtin/add.c:65
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "trạng thái lệnh diff không như mong đợi %c"
 
-#: builtin/add.c:69 builtin/commit.c:261
+#: builtin/add.c:70 builtin/commit.c:275
 msgid "updating files failed"
 msgstr "Cập nhật tập tin gặp lỗi"
 
-#: builtin/add.c:79
+#: builtin/add.c:80
 #, c-format
 msgid "remove '%s'\n"
 msgstr "gỡ bỏ “%s”\n"
 
-#: builtin/add.c:133
+#: builtin/add.c:134
 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:193 builtin/rev-parse.c:781
+#: builtin/add.c:194 builtin/rev-parse.c:785
 msgid "Could not read the index"
 msgstr "Không thể đọc bảng mục lục"
 
-#: builtin/add.c:204
+#: builtin/add.c:205
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr "Không thể mở “%s” để ghi."
 
-#: builtin/add.c:208
+#: builtin/add.c:209
 msgid "Could not write patch"
 msgstr "Không thể ghi ra miếng vá"
 
-#: builtin/add.c:213
+#: builtin/add.c:214
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "không thể lấy thông tin thống kê về “%s”"
 
-#: builtin/add.c:215
+#: builtin/add.c:216
 msgid "Empty patch. Aborted."
 msgstr "Miếng vá trống rỗng. Nên bỏ qua."
 
@@ -1975,15 +2069,15 @@ 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:248 builtin/clean.c:875 builtin/fetch.c:108 builtin/mv.c:70
-#: builtin/prune-packed.c:77 builtin/push.c:488 builtin/remote.c:1367
+#: builtin/add.c:248 builtin/clean.c:875 builtin/fetch.c:108 builtin/mv.c:110
+#: builtin/prune-packed.c:55 builtin/push.c:499 builtin/remote.c:1375
 #: builtin/rm.c:269
 msgid "dry run"
 msgstr "chạy thử"
 
-#: builtin/add.c:249 builtin/apply.c:4411 builtin/check-ignore.c:19
-#: builtin/commit.c:1328 builtin/count-objects.c:95 builtin/fsck.c:606
-#: builtin/log.c:1613 builtin/mv.c:69 builtin/read-tree.c:113
+#: builtin/add.c:249 builtin/apply.c:4415 builtin/check-ignore.c:19
+#: builtin/commit.c:1362 builtin/count-objects.c:63 builtin/fsck.c:608
+#: builtin/log.c:1617 builtin/mv.c:109 builtin/read-tree.c:114
 msgid "be verbose"
 msgstr "chi tiết"
 
@@ -1991,7 +2085,7 @@ msgstr "chi tiết"
 msgid "interactive picking"
 msgstr "sửa bằng cách tương tác"
 
-#: builtin/add.c:252 builtin/checkout.c:1102 builtin/reset.c:285
+#: builtin/add.c:252 builtin/checkout.c:1108 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "chọn “hunks” theo kiểu tương tác"
 
@@ -2067,77 +2161,77 @@ 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:363 builtin/check-ignore.c:172 builtin/clean.c:919
-#: builtin/commit.c:319 builtin/mv.c:90 builtin/reset.c:234 builtin/rm.c:299
+#: builtin/commit.c:333 builtin/mv.c:130 builtin/reset.c:235 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:446 builtin/apply.c:4506 builtin/mv.c:280 builtin/rm.c:431
+#: builtin/add.c:446 builtin/apply.c:4510 builtin/mv.c:279 builtin/rm.c:431
 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"
 
-#: builtin/apply.c:57
+#: builtin/apply.c:58
 msgid "git apply [options] [<patch>...]"
 msgstr "git apply [các-tùy-chọn] [<miếng-vá>...]"
 
-#: builtin/apply.c:110
+#: builtin/apply.c:111
 #, c-format
 msgid "unrecognized whitespace option '%s'"
 msgstr "không nhận ra tùy chọn về khoảng trắng “%s”"
 
-#: builtin/apply.c:125
+#: builtin/apply.c:126
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr "không nhận ra tùy chọn bỏ qua khoảng trắng “%s”"
 
-#: builtin/apply.c:825
+#: builtin/apply.c:826
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr ""
 "Không thể chuẩn bị biểu thức chính qui dấu vết thời gian (timestamp regexp) "
 "%s"
 
-#: builtin/apply.c:834
+#: builtin/apply.c:835
 #, c-format
 msgid "regexec returned %d for input: %s"
 msgstr "thi hành biểu thức chính quy trả về %d cho đầu vào: %s"
 
-#: builtin/apply.c:915
+#: builtin/apply.c:916
 #, c-format
 msgid "unable to find filename in patch at line %d"
 msgstr "không thể tìm thấy tên tập tin trong miếng vá tại dòng %d"
 
-#: builtin/apply.c:947
+#: builtin/apply.c:948
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
 msgstr ""
 "git apply: git-diff sai - cần /dev/null, nhưng lại nhận được %s trên dòng %d"
 
-#: builtin/apply.c:951
+#: builtin/apply.c:952
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr "git apply: git-diff sai - tên tập tin mới không nhất quán trên dòng %d"
 
-#: builtin/apply.c:952
+#: builtin/apply.c:953
 #, c-format
 msgid "git apply: bad git-diff - inconsistent old filename on line %d"
 msgstr "git apply: git-diff sai - tên tập tin cũ không nhất quán trên dòng %d"
 
-#: builtin/apply.c:959
+#: builtin/apply.c:960
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr "git apply: git-diff sai - cần “/dev/null” trên dòng %d"
 
-#: builtin/apply.c:1422
+#: builtin/apply.c:1423
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "chi tiết: dòng không cần: %.*s"
 
-#: builtin/apply.c:1479
+#: builtin/apply.c:1480
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
 msgstr "miếng vá phân mảnh mà không có phần đầu tại dòng %d: %.*s"
 
-#: builtin/apply.c:1496
+#: builtin/apply.c:1497
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -2152,77 +2246,77 @@ msgstr[1] ""
 "phần đầu diff cho git  thiếu thông tin tên tập tin khi gỡ bỏ đi %d trong "
 "thành phần dẫn đầu tên của đường dẫn (dòng %d)"
 
-#: builtin/apply.c:1656
+#: builtin/apply.c:1657
 msgid "new file depends on old contents"
 msgstr "tập tin mới phụ thuộc vào nội dung cũ"
 
-#: builtin/apply.c:1658
+#: builtin/apply.c:1659
 msgid "deleted file still has contents"
 msgstr "tập tin đã xóa vẫn còn nội dung"
 
-#: builtin/apply.c:1684
+#: builtin/apply.c:1685
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "miếng vá hỏng tại dòng %d"
 
-#: builtin/apply.c:1720
+#: builtin/apply.c:1721
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "tập tin mới %s phụ thuộc vào nội dung cũ"
 
-#: builtin/apply.c:1722
+#: builtin/apply.c:1723
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "tập tin đã xóa %s vẫn còn nội dung"
 
-#: builtin/apply.c:1725
+#: builtin/apply.c:1726
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** cảnh báo: tập tin %s trở nên trống rỗng nhưng không bị xóa"
 
-#: builtin/apply.c:1871
+#: builtin/apply.c:1872
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "miếng vá định dạng nhị phân sai hỏng tại dòng %d: %.*s"
 
-#: builtin/apply.c:1900
+#: builtin/apply.c:1901
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "miếng vá định dạng nhị phân không được nhận ra tại dòng %d"
 
-#: builtin/apply.c:1986
+#: builtin/apply.c:2052
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "vá chỉ với “rác” tại dòng %d"
 
-#: builtin/apply.c:2076
+#: builtin/apply.c:2142
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "không thể đọc liên kết mềm %s"
 
-#: builtin/apply.c:2080
+#: builtin/apply.c:2146
 #, c-format
 msgid "unable to open or read %s"
 msgstr "không thể mở hay đọc %s"
 
-#: builtin/apply.c:2688
+#: builtin/apply.c:2754
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "sai khởi đầu dòng: “%c”"
 
-#: builtin/apply.c:2806
+#: builtin/apply.c:2872
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] "Khối dữ liệu #%d thành công tại %d (offset %d dòng)."
 msgstr[1] "Khối dữ liệu #%d thành công tại %d (offset %d dòng)."
 
-#: builtin/apply.c:2818
+#: builtin/apply.c:2884
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "Nội dung bị giảm xuống còn (%ld/%ld) để áp dụng mảnh dữ liệu tại %d"
 
-#: builtin/apply.c:2824
+#: builtin/apply.c:2890
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -2231,324 +2325,324 @@ msgstr ""
 "trong khi đang tìm kiếm cho:\n"
 "%.*s"
 
-#: builtin/apply.c:2843
+#: builtin/apply.c:2909
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "thiếu dữ liệu của miếng vá định dạng nhị phân cho “%s”"
 
-#: builtin/apply.c:2944
+#: builtin/apply.c:3010
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "miếng vá định dạng nhị phân không được áp dụng cho “%s”"
 
-#: builtin/apply.c:2950
+#: builtin/apply.c:3016
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
 "vá nhị phân cho “%s” tạo ra kết quả không chính xác (mong chờ %s, lại nhận "
 "%s)"
 
-#: builtin/apply.c:2971
+#: builtin/apply.c:3037
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "gặp lỗi khi vá: %s:%ld"
 
-#: builtin/apply.c:3095
+#: builtin/apply.c:3161
 #, c-format
 msgid "cannot checkout %s"
 msgstr "không thể lấy ra %s"
 
-#: builtin/apply.c:3140 builtin/apply.c:3149 builtin/apply.c:3194
+#: builtin/apply.c:3206 builtin/apply.c:3215 builtin/apply.c:3260
 #, c-format
 msgid "read of %s failed"
 msgstr "đọc %s gặp lỗi"
 
-#: builtin/apply.c:3174 builtin/apply.c:3396
+#: builtin/apply.c:3240 builtin/apply.c:3462
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "đường dẫn %s đã bị xóa hoặc đổi tên"
 
-#: builtin/apply.c:3255 builtin/apply.c:3410
+#: builtin/apply.c:3321 builtin/apply.c:3476
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s: không tồn tại trong bảng mục lục"
 
-#: builtin/apply.c:3259 builtin/apply.c:3402 builtin/apply.c:3424
+#: builtin/apply.c:3325 builtin/apply.c:3468 builtin/apply.c:3490
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: builtin/apply.c:3264 builtin/apply.c:3418
+#: builtin/apply.c:3330 builtin/apply.c:3484
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s: không khớp trong mục lục"
 
-#: builtin/apply.c:3366
+#: builtin/apply.c:3432
 msgid "removal patch leaves file contents"
 msgstr "loại bỏ miếng vá để lại nội dung tập tin"
 
-#: builtin/apply.c:3435
+#: builtin/apply.c:3501
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s: sai kiểu"
 
-#: builtin/apply.c:3437
+#: builtin/apply.c:3503
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s có kiểu %o, cần %o"
 
-#: builtin/apply.c:3538
+#: builtin/apply.c:3604
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s: đã có từ trước trong bảng mục lục"
 
-#: builtin/apply.c:3541
+#: builtin/apply.c:3607
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s: đã sẵn có trong thư mục đang làm việc"
 
-#: builtin/apply.c:3561
+#: builtin/apply.c:3627
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "chế độ mới (%o) của %s không khớp với chế độ cũ (%o)"
 
-#: builtin/apply.c:3566
+#: builtin/apply.c:3632
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr "chế độ mới (%o) của %s không khớp với chế độ cũ (%o) của %s"
 
-#: builtin/apply.c:3574
+#: builtin/apply.c:3640
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: miếng vá không được áp dụng"
 
-#: builtin/apply.c:3587
+#: builtin/apply.c:3653
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Đang kiểm tra miếng vá %s..."
 
-#: builtin/apply.c:3680 builtin/checkout.c:213 builtin/reset.c:134
+#: builtin/apply.c:3746 builtin/checkout.c:213 builtin/reset.c:135
 #, 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”"
 
-#: builtin/apply.c:3823
+#: builtin/apply.c:3889
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "không thể gỡ bỏ %s từ mục lục"
 
-#: builtin/apply.c:3852
+#: builtin/apply.c:3918
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "miếng vá sai hỏng cho mô-đun-con %s"
 
-#: builtin/apply.c:3856
+#: builtin/apply.c:3922
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "không thể lấy thống kề về tập tin %s mới hơn đã được tạo"
 
-#: builtin/apply.c:3861
+#: builtin/apply.c:3927
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "không thể tạo “kho lưu đằng sau” cho tập tin được tạo mới hơn %s"
 
-#: builtin/apply.c:3864 builtin/apply.c:3972
+#: builtin/apply.c:3930 builtin/apply.c:4038
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "không thể thêm mục nhớ đệm cho %s"
 
-#: builtin/apply.c:3897
+#: builtin/apply.c:3963
 #, c-format
 msgid "closing file '%s'"
 msgstr "đang đóng tập tin “%s”"
 
-#: builtin/apply.c:3946
+#: builtin/apply.c:4012
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "không thể ghi vào tập tin “%s” chế độ %o"
 
-#: builtin/apply.c:4033
+#: builtin/apply.c:4099
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Đã áp dụng miếng vá %s một cách sạch sẽ."
 
-#: builtin/apply.c:4041
+#: builtin/apply.c:4107
 msgid "internal error"
 msgstr "lỗi nội bộ"
 
-#: builtin/apply.c:4044
+#: builtin/apply.c:4110
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] "Đang áp dụng miếng vá %%s với %d lần từ chối..."
 msgstr[1] "Đang áp dụng miếng vá %%s với %d lần từ chối..."
 
-#: builtin/apply.c:4054
+#: builtin/apply.c:4120
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "đang cắt ngắn tên tập tin .rej thành %.*s.rej"
 
-#: builtin/apply.c:4075
+#: builtin/apply.c:4141
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Khối nhớ #%d được áp dụng gọn gàng."
 
-#: builtin/apply.c:4078
+#: builtin/apply.c:4144
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "đoạn dữ liệu #%d bị từ chối."
 
-#: builtin/apply.c:4228
+#: builtin/apply.c:4234
 msgid "unrecognized input"
 msgstr "không thừa nhận đầu vào"
 
-#: builtin/apply.c:4239
+#: builtin/apply.c:4245
 msgid "unable to read index file"
 msgstr "không thể đọc tập tin lưu bảng mục lục"
 
-#: builtin/apply.c:4358 builtin/apply.c:4361 builtin/clone.c:90
+#: builtin/apply.c:4362 builtin/apply.c:4365 builtin/clone.c:91
 #: builtin/fetch.c:93
 msgid "path"
 msgstr "đường-dẫn"
 
-#: builtin/apply.c:4359
+#: builtin/apply.c:4363
 msgid "don't apply changes matching the given path"
 msgstr "không áp dụng các thay đổi khớp với đường dẫn đã cho"
 
-#: builtin/apply.c:4362
+#: builtin/apply.c:4366
 msgid "apply changes matching the given path"
 msgstr "áp dụng các thay đổi khớp với đường dẫn đã cho"
 
-#: builtin/apply.c:4364
+#: builtin/apply.c:4368
 msgid "num"
 msgstr "số"
 
-#: builtin/apply.c:4365
+#: builtin/apply.c:4369
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "gỡ bỏ <số> dấu gạch chéo dẫn đầu từ đường dẫn diff cổ điển"
 
-#: builtin/apply.c:4368
+#: builtin/apply.c:4372
 msgid "ignore additions made by the patch"
 msgstr "lờ đi phần bổ xung được tạo ra bởi miếng vá"
 
-#: builtin/apply.c:4370
+#: builtin/apply.c:4374
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr ""
 "thay vì áp dụng một miếng vá, kết xuất kết quả từ lệnh diffstat cho đầu ra"
 
-#: builtin/apply.c:4374
+#: builtin/apply.c:4378
 msgid "show number of added and deleted lines in decimal notation"
 msgstr ""
 "hiển thị số lượng các dòng được thêm vào và xóa đi theo ký hiệu thập phân"
 
-#: builtin/apply.c:4376
+#: builtin/apply.c:4380
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "thay vì áp dụng một miếng vá, kết xuất kết quả cho đầu vào"
 
-#: builtin/apply.c:4378
+#: builtin/apply.c:4382
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "thay vì áp dụng miếng vá, hãy xem xem miếng vá có thích hợp không"
 
-#: builtin/apply.c:4380
+#: builtin/apply.c:4384
 msgid "make sure the patch is applicable to the current index"
 msgstr "hãy chắc chắn là miếng vá thích hợp với bảng mục lục hiện hành"
 
-#: builtin/apply.c:4382
+#: builtin/apply.c:4386
 msgid "apply a patch without touching the working tree"
 msgstr "áp dụng một miếng vá mà không động chạm đến cây làm việc"
 
-#: builtin/apply.c:4384
+#: builtin/apply.c:4388
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr ""
 "đồng thời áp dụng miếng vá (dùng với tùy chọn --stat/--summary/--check)"
 
-#: builtin/apply.c:4386
+#: builtin/apply.c:4390
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "thử hòa trộn kiểu three-way nếu việc vá không thể thực hiện được"
 
-#: builtin/apply.c:4388
+#: builtin/apply.c:4392
 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:4390 builtin/checkout-index.c:198 builtin/ls-files.c:455
+#: builtin/apply.c:4394 builtin/checkout-index.c:198 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"
 
-#: builtin/apply.c:4393
+#: builtin/apply.c:4397
 msgid "ensure at least <n> lines of context match"
 msgstr "đảm bảo rằng có ít nhất <n> dòng nội dung khớp"
 
-#: builtin/apply.c:4394
+#: builtin/apply.c:4398
 msgid "action"
 msgstr "hành động"
 
-#: builtin/apply.c:4395
+#: builtin/apply.c:4399
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "tìm thấy một dòng mới hoặc bị sửa đổi mà nó có lỗi do khoảng trắng"
 
-#: builtin/apply.c:4398 builtin/apply.c:4401
+#: builtin/apply.c:4402 builtin/apply.c:4405
 msgid "ignore changes in whitespace when finding context"
 msgstr "lờ đi sự thay đổi do khoảng trắng gây ra khi quét nội dung"
 
-#: builtin/apply.c:4404
+#: builtin/apply.c:4408
 msgid "apply the patch in reverse"
 msgstr "áp dụng miếng vá theo chiều ngược"
 
-#: builtin/apply.c:4406
+#: builtin/apply.c:4410
 msgid "don't expect at least one line of context"
 msgstr "đừng hy vọng có ít nhất một dòng nội dung"
 
-#: builtin/apply.c:4408
+#: builtin/apply.c:4412
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "để lại khối dữ liệu bị từ chối trong các tập tin *.rej tương ứng"
 
-#: builtin/apply.c:4410
+#: builtin/apply.c:4414
 msgid "allow overlapping hunks"
 msgstr "cho phép chồng khối nhớ"
 
-#: builtin/apply.c:4413
+#: builtin/apply.c:4417
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr ""
 "đã dò tìm thấy dung sai không chính xác thiếu dòng mới tại cuối tập tin"
 
-#: builtin/apply.c:4416
+#: builtin/apply.c:4420
 msgid "do not trust the line counts in the hunk headers"
 msgstr "không tin số lượng dòng trong phần đầu khối dữ liệu"
 
-#: builtin/apply.c:4418
+#: builtin/apply.c:4422
 msgid "root"
 msgstr "root"
 
-#: builtin/apply.c:4419
+#: builtin/apply.c:4423
 msgid "prepend <root> to all filenames"
 msgstr "treo thêm <root> vào tất cả các tên tập tin"
 
-#: builtin/apply.c:4441
+#: builtin/apply.c:4445
 msgid "--3way outside a repository"
 msgstr "--3way ở ngoài một kho chứa"
 
-#: builtin/apply.c:4449
+#: builtin/apply.c:4453
 msgid "--index outside a repository"
 msgstr "--index ở ngoài một kho chứa"
 
-#: builtin/apply.c:4452
+#: builtin/apply.c:4456
 msgid "--cached outside a repository"
 msgstr "--cached ở ngoài một kho chứa"
 
-#: builtin/apply.c:4468
+#: builtin/apply.c:4472
 #, c-format
 msgid "can't open patch '%s'"
 msgstr "không thể mở miếng vá “%s”"
 
-#: builtin/apply.c:4482
+#: builtin/apply.c:4486
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "đã chấm dứt %d lỗi khoảng trắng"
 msgstr[1] "đã chấm dứt %d lỗi khoảng trắng"
 
-#: builtin/apply.c:4488 builtin/apply.c:4498
+#: builtin/apply.c:4492 builtin/apply.c:4502
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
@@ -2711,7 +2805,7 @@ msgstr "Xử lý chỉ dòng vùng n,m, tính từ 1"
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2599
+#: builtin/blame.c:2602
 msgid "4 years, 11 months ago"
 msgstr "4 năm, 11 tháng trước"
 
@@ -2731,7 +2825,7 @@ msgstr "git branch [các-tùy-chọn] [-r] (-d | -D) <tên-nhánh> ..."
 msgid "git branch [options] (-m | -M) [<oldbranch>] <newbranch>"
 msgstr "git branch [các-tùy-chọn] (-m | -M) [<nhánh-cũ>] <nhánh-mới>"
 
-#: builtin/branch.c:150
+#: builtin/branch.c:152
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
@@ -2740,7 +2834,7 @@ msgstr ""
 "đang xóa nhánh “%s” mà nó lại đã được hòa trộn vào\n"
 "         “%s”, nhưng vẫn chưa được hòa trộn vào HEAD."
 
-#: builtin/branch.c:154
+#: builtin/branch.c:156
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
@@ -2749,12 +2843,12 @@ msgstr ""
 "không xóa nhánh “%s” cái mà chưa được hòa trộn vào\n"
 "         “%s”, cho dù là nó đã được hòa trộn vào HEAD."
 
-#: builtin/branch.c:168
+#: builtin/branch.c:170
 #, c-format
 msgid "Couldn't look up commit object for '%s'"
 msgstr "Không thể tìm kiếm đối tượng chuyển giao cho “%s”"
 
-#: builtin/branch.c:172
+#: builtin/branch.c:174
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
@@ -2763,301 +2857,301 @@ msgstr ""
 "Nhánh “%s” không được trộn một cách đầy đủ.\n"
 "Nếu bạn thực sự muốn xóa nó, thì chạy lệnh “git branch -D %s”."
 
-#: builtin/branch.c:185
+#: builtin/branch.c:187
 msgid "Update of config-file failed"
 msgstr "Cập nhật tập tin cấu hình gặp lỗi"
 
-#: builtin/branch.c:213
+#: builtin/branch.c:215
 msgid "cannot use -a with -d"
 msgstr "không thể dùng tùy chọn -a với -d"
 
-#: builtin/branch.c:219
+#: builtin/branch.c:221
 msgid "Couldn't look up commit object for HEAD"
 msgstr "Không thể tìm kiếm đối tượng chuyển giao cho HEAD"
 
-#: builtin/branch.c:227
+#: builtin/branch.c:229
 #, c-format
 msgid "Cannot delete the branch '%s' which you are currently on."
 msgstr "Không thể xóa nhánh “%s” cái mà bạn hiện nay đang ở."
 
-#: builtin/branch.c:240
+#: builtin/branch.c:245
 #, c-format
 msgid "remote branch '%s' not found."
 msgstr "không tìm thấy nhánh máy chủ “%s”."
 
-#: builtin/branch.c:241
+#: builtin/branch.c:246
 #, c-format
 msgid "branch '%s' not found."
 msgstr "không tìm thấy nhánh “%s”."
 
-#: builtin/branch.c:255
+#: builtin/branch.c:260
 #, c-format
 msgid "Error deleting remote branch '%s'"
 msgstr "Gặp lỗi khi đang xóa nhánh trên máy chủ “%s”"
 
-#: builtin/branch.c:256
+#: builtin/branch.c:261
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr "Gặp lỗi khi xoá bỏ nhánh “%s”"
 
-#: builtin/branch.c:263
+#: builtin/branch.c:268
 #, c-format
 msgid "Deleted remote branch %s (was %s).\n"
 msgstr "Nhánh trên máy chủ \"%s\" đã bị xóa (từng là %s).\n"
 
-#: builtin/branch.c:264
+#: builtin/branch.c:269
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr "Nhánh “%s” đã bị xóa (từng là %s)\n"
 
-#: builtin/branch.c:366
+#: builtin/branch.c:370
 #, c-format
 msgid "branch '%s' does not point at a commit"
 msgstr "nhánh “%s” không chỉ đến một lần chuyển giao nào cả"
 
-#: builtin/branch.c:454
+#: builtin/branch.c:459
 #, c-format
 msgid "[%s: gone]"
 msgstr "[%s: đã ra đi]"
 
-#: builtin/branch.c:459
+#: builtin/branch.c:464
 #, c-format
 msgid "[%s]"
 msgstr "[%s]"
 
-#: builtin/branch.c:464
+#: builtin/branch.c:469
 #, c-format
 msgid "[%s: behind %d]"
 msgstr "[%s: đằng sau %d]"
 
-#: builtin/branch.c:466
+#: builtin/branch.c:471
 #, c-format
 msgid "[behind %d]"
 msgstr "[đằng sau %d]"
 
-#: builtin/branch.c:470
+#: builtin/branch.c:475
 #, c-format
 msgid "[%s: ahead %d]"
 msgstr "[%s: phía trước %d]"
 
-#: builtin/branch.c:472
+#: builtin/branch.c:477
 #, c-format
 msgid "[ahead %d]"
 msgstr "[phía trước %d]"
 
-#: builtin/branch.c:475
+#: builtin/branch.c:480
 #, c-format
 msgid "[%s: ahead %d, behind %d]"
 msgstr "[%s: trước %d, sau %d]"
 
-#: builtin/branch.c:478
+#: builtin/branch.c:483
 #, c-format
 msgid "[ahead %d, behind %d]"
 msgstr "[trước %d, sau %d]"
 
-#: builtin/branch.c:502
+#: builtin/branch.c:496
 msgid " **** invalid ref ****"
 msgstr " **** tham chiếu không hợp lệ ****"
 
-#: builtin/branch.c:594
+#: builtin/branch.c:587
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(không nhánh, đang cải tổ %s)"
 
-#: builtin/branch.c:597
+#: builtin/branch.c:590
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(không nhánh, di chuyển nửa bước được bắt đầu tại %s)"
 
-#: builtin/branch.c:600
+#: builtin/branch.c:593
 #, c-format
 msgid "(detached from %s)"
 msgstr "(được tách rời từ %s)"
 
-#: builtin/branch.c:603
+#: builtin/branch.c:596
 msgid "(no branch)"
 msgstr "(không nhánh)"
 
-#: builtin/branch.c:649
+#: builtin/branch.c:643
 #, c-format
 msgid "object '%s' does not point to a commit"
 msgstr "đối tượng “%s” không chỉ đến một lần chuyển giao nào cả"
 
-#: builtin/branch.c:681
+#: builtin/branch.c:691
 msgid "some refs could not be read"
 msgstr "một số tham chiếu đã không thể đọc được"
 
-#: builtin/branch.c:694
+#: builtin/branch.c:704
 msgid "cannot rename the current branch while not on any."
 msgstr "không thể đổi tên nhánh hiện hành trong khi nó chẳng ở đâu cả."
 
-#: builtin/branch.c:704
+#: builtin/branch.c:714
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Tên nhánh không hợp lệ: “%s”"
 
-#: builtin/branch.c:719
+#: builtin/branch.c:729
 msgid "Branch rename failed"
 msgstr "Gặp lỗi khi đổi tên nhánh"
 
-#: builtin/branch.c:723
+#: builtin/branch.c:733
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Đã đổi tên nhánh khuyết danh “%s” đi"
 
-#: builtin/branch.c:727
+#: builtin/branch.c:737
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "Nhánh bị đổi tên thành %s, nhưng HEAD lại không được cập nhật!"
 
-#: builtin/branch.c:734
+#: builtin/branch.c:744
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "Nhánh bị đổi tên, nhưng cập nhật tập tin cấu hình gặp lỗi"
 
-#: builtin/branch.c:749
+#: builtin/branch.c:759
 #, c-format
 msgid "malformed object name %s"
 msgstr "tên đối tượng dị hình %s"
 
-#: builtin/branch.c:773
+#: builtin/branch.c:783
 #, c-format
 msgid "could not write branch description template: %s"
 msgstr "không thể ghi vào mẫu mô tả nhánh: %s"
 
-#: builtin/branch.c:803
+#: builtin/branch.c:813
 msgid "Generic options"
 msgstr "Tùy chọn chung"
 
-#: builtin/branch.c:805
+#: builtin/branch.c:815
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "hiển thị mã băm và chủ đề, đưa ra hai lần cho nhánh thượng nguồn"
 
-#: builtin/branch.c:806
+#: builtin/branch.c:816
 msgid "suppress informational messages"
 msgstr "không xuất các thông tin"
 
-#: builtin/branch.c:807
+#: builtin/branch.c:817
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "cài đặt chế độ theo dõi (xem git-pull(1))"
 
-#: builtin/branch.c:809
+#: builtin/branch.c:819
 msgid "change upstream info"
 msgstr "thay đổi thông tin thượng nguồn"
 
-#: builtin/branch.c:813
+#: builtin/branch.c:823
 msgid "use colored output"
 msgstr "tô màu kết xuất"
 
-#: builtin/branch.c:814
+#: builtin/branch.c:824
 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:1573 builtin/commit.c:1574
-#: builtin/commit.c:1575 builtin/commit.c:1576 builtin/tag.c:615
-#: builtin/tag.c:621
+#: builtin/branch.c:827 builtin/branch.c:833 builtin/branch.c:854
+#: builtin/branch.c:860 builtin/commit.c:1622 builtin/commit.c:1623
+#: builtin/commit.c:1624 builtin/commit.c:1625 builtin/tag.c:616
+#: builtin/tag.c:622
 msgid "commit"
 msgstr "lần_chuyển_giao"
 
-#: builtin/branch.c:818 builtin/branch.c:824
+#: builtin/branch.c:828 builtin/branch.c:834
 msgid "print only branches that contain the commit"
 msgstr "chỉ hiển thị những nhánh mà nó chứa lần chuyển giao"
 
-#: builtin/branch.c:830
+#: builtin/branch.c:840
 msgid "Specific git-branch actions:"
 msgstr "Hành động git-branch:"
 
-#: builtin/branch.c:831
+#: builtin/branch.c:841
 msgid "list both remote-tracking and local branches"
 msgstr "liệt kê cả nhánh “remote-tracking” và nội bộ"
 
-#: builtin/branch.c:833
+#: builtin/branch.c:843
 msgid "delete fully merged branch"
 msgstr "xóa một toàn bộ nhánh đã hòa trộn"
 
-#: builtin/branch.c:834
+#: builtin/branch.c:844
 msgid "delete branch (even if not merged)"
 msgstr "xoá nhánh (cho dù là chưa được hòa trộn)"
 
-#: builtin/branch.c:835
+#: builtin/branch.c:845
 msgid "move/rename a branch and its reflog"
 msgstr "di chuyển hay đổi tên một nhánh và reflog của nó"
 
-#: builtin/branch.c:836
+#: builtin/branch.c:846
 msgid "move/rename a branch, even if target exists"
 msgstr "di chuyển hoặc đổi tên một nhánh ngay cả khi đích đã có sẵn"
 
-#: builtin/branch.c:837
+#: builtin/branch.c:847
 msgid "list branch names"
 msgstr "liệt kê các tên nhánh"
 
-#: builtin/branch.c:838
+#: builtin/branch.c:848
 msgid "create the branch's reflog"
 msgstr "tạo reflog của nhánh"
 
-#: builtin/branch.c:840
+#: builtin/branch.c:850
 msgid "edit the description for the branch"
 msgstr "sửa mô tả cho nhánh"
 
-#: builtin/branch.c:841
+#: builtin/branch.c:851
 msgid "force creation (when already exists)"
 msgstr "ép buộc tạo (khi đã có nhánh cùng tên)"
 
-#: builtin/branch.c:844
+#: builtin/branch.c:854
 msgid "print only not merged branches"
 msgstr "chỉ hiển thị các nhánh chưa được hòa trộn"
 
-#: builtin/branch.c:850
+#: builtin/branch.c:860
 msgid "print only merged branches"
 msgstr "chỉ hiển thị các nhánh đã hòa trộn"
 
-#: builtin/branch.c:854
+#: builtin/branch.c:864
 msgid "list branches in columns"
 msgstr "liệt kê các nhánh trong các cột"
 
-#: builtin/branch.c:867
+#: builtin/branch.c:877
 msgid "Failed to resolve HEAD as a valid ref."
-msgstr "Gặp lỗi khi phân giải HEAD như là một tham chiếu (ref) hợp lệ."
+msgstr "Gặp lỗi khi phân giải HEAD như là một tham chiếu hợp lệ."
 
-#: builtin/branch.c:872 builtin/clone.c:636
+#: builtin/branch.c:881 builtin/clone.c:634
 msgid "HEAD not found below refs/heads!"
 msgstr "không tìm thấy HEAD ở dưới refs/heads!"
 
-#: builtin/branch.c:896
+#: builtin/branch.c:903
 msgid "--column and --verbose are incompatible"
 msgstr "tùy chọn --column và --verbose xung khắc nhau"
 
-#: builtin/branch.c:902 builtin/branch.c:941
+#: builtin/branch.c:909 builtin/branch.c:948
 msgid "branch name required"
 msgstr "cần chỉ ra tên nhánh"
 
-#: builtin/branch.c:917
+#: builtin/branch.c:924
 msgid "Cannot give description to detached HEAD"
 msgstr "Không thể đưa ra mô tả HEAD đã tách rời"
 
-#: builtin/branch.c:922
+#: builtin/branch.c:929
 msgid "cannot edit description of more than one branch"
 msgstr "không thể sửa mô tả cho nhiều hơn một nhánh"
 
-#: builtin/branch.c:929
+#: builtin/branch.c:936
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Vẫn chưa chuyển giao trên nhánh “%s”."
 
-#: builtin/branch.c:932
+#: builtin/branch.c:939
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Không có nhánh nào có tên “%s”."
 
-#: builtin/branch.c:947
+#: builtin/branch.c:954
 msgid "too many branches for a rename operation"
 msgstr "quá nhiều nhánh dành cho thao tác đổi tên"
 
-#: builtin/branch.c:952
+#: builtin/branch.c:959
 msgid "too many branches to set new upstream"
 msgstr "quá nhiều nhánh được đặt cho thượng nguồn mới"
 
-#: builtin/branch.c:956
+#: builtin/branch.c:963
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -3065,40 +3159,40 @@ msgstr ""
 "không thể đặt thượng nguồn của HEAD thành %s khi mà nó chẳng chỉ đến nhánh "
 "nào cả."
 
-#: builtin/branch.c:959 builtin/branch.c:981 builtin/branch.c:1002
+#: builtin/branch.c:966 builtin/branch.c:988 builtin/branch.c:1009
 #, c-format
 msgid "no such branch '%s'"
 msgstr "không có nhánh nào như thế “%s”"
 
-#: builtin/branch.c:963
+#: builtin/branch.c:970
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "chưa có nhánh “%s”"
 
-#: builtin/branch.c:975
+#: builtin/branch.c:982
 msgid "too many branches to unset upstream"
 msgstr "quá nhiều nhánh để bỏ đặt thượng nguồn"
 
-#: builtin/branch.c:979
+#: builtin/branch.c:986
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr "không thể bỏ đặt thượng nguồn của HEAD không chỉ đến một nhánh nào cả."
 
-#: builtin/branch.c:985
+#: builtin/branch.c:992
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "Nhánh “%s” không có thông tin thượng nguồn"
 
-#: builtin/branch.c:999
+#: builtin/branch.c:1006
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr "không hợp lý khi tạo “HEAD” thủ công"
 
-#: builtin/branch.c:1005
+#: builtin/branch.c:1012
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr ""
 "hai tùy chọn -a và -r áp dụng cho lệnh “git branch” không hợp lý đối với tên "
 "nhánh"
 
-#: builtin/branch.c:1008
+#: builtin/branch.c:1015
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -3107,7 +3201,7 @@ msgstr ""
 "Cờ --set-upstream đã lạc hậu và sẽ bị xóa bỏ. Nên dùng --track hoặc --set-"
 "upstream-to\n"
 
-#: builtin/branch.c:1025
+#: builtin/branch.c:1032
 #, c-format
 msgid ""
 "\n"
@@ -3118,12 +3212,12 @@ msgstr ""
 "Nếu bạn muốn “%s” theo dõi “%s”, thực hiện lệnh sau:\n"
 "\n"
 
-#: builtin/branch.c:1026
+#: builtin/branch.c:1033
 #, c-format
 msgid "    git branch -d %s\n"
 msgstr "    git branch -d %s\n"
 
-#: builtin/branch.c:1027
+#: builtin/branch.c:1034
 #, c-format
 msgid "    git branch --set-upstream-to %s\n"
 msgstr "    git branch --set-upstream-to %s\n"
@@ -3141,44 +3235,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:331
+#: builtin/cat-file.c:332
 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>"
 
-#: builtin/cat-file.c:332
+#: builtin/cat-file.c:333
 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:369
+#: builtin/cat-file.c:370
 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:370
+#: builtin/cat-file.c:371
 msgid "show object type"
 msgstr "hiển thị kiểu đối tượng"
 
-#: builtin/cat-file.c:371
+#: builtin/cat-file.c:372
 msgid "show object size"
 msgstr "hiển thị kích thước đối tượng"
 
-#: builtin/cat-file.c:373
+#: builtin/cat-file.c:374
 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:374
+#: builtin/cat-file.c:375
 msgid "pretty-print object's content"
 msgstr "in nội dung đối tượng dạng dễ đọc"
 
-#: builtin/cat-file.c:376
+#: builtin/cat-file.c:377
 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:378
+#: builtin/cat-file.c:379
 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:381
+#: builtin/cat-file.c:382
 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"
 
@@ -3199,7 +3293,7 @@ msgstr "báo cáo tất cả các thuộc tính đặt trên tập tin"
 msgid "use .gitattributes only from the index"
 msgstr "chỉ dùng .gitattributes từ bảng mục lục"
 
-#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:75
+#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:98
 msgid "read file names from stdin"
 msgstr "đọc tên tập tin từ đầu vào tiêu chuẩn"
 
@@ -3207,7 +3301,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:1083 builtin/gc.c:285
+#: builtin/check-ignore.c:18 builtin/checkout.c:1089 builtin/gc.c:274
 msgid "suppress progress reporting"
 msgstr "chặn các báo cáo tiến trình hoạt động"
 
@@ -3373,46 +3467,46 @@ msgstr "đường dẫn “%s” không được hòa trộn"
 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:591
+#: builtin/checkout.c:597
 #, 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:629
+#: builtin/checkout.c:635
 msgid "HEAD is now at"
 msgstr "HEAD hiện giờ tại"
 
-#: builtin/checkout.c:636
+#: builtin/checkout.c:642
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:639
+#: builtin/checkout.c:645
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Đã sẵn sàng trên “%s”\n"
 
-#: builtin/checkout.c:643
+#: builtin/checkout.c:649
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Đã chuyển tới và đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:645 builtin/checkout.c:1026
+#: builtin/checkout.c:651 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:647
+#: builtin/checkout.c:653
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Đã chuyển đến nhánh “%s”\n"
 
-#: builtin/checkout.c:699
+#: builtin/checkout.c:705
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... và nhiều hơn %d.\n"
 
-#: builtin/checkout.c:705
+#: builtin/checkout.c:711
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -3437,7 +3531,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:723
+#: 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"
@@ -3453,141 +3547,141 @@ msgstr ""
 " git branch tên_nhánh_mới %s\n"
 "\n"
 
-#: builtin/checkout.c:753
+#: 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:757
+#: builtin/checkout.c:763
 msgid "Previous HEAD position was"
 msgstr "Vị trí trước kia của HEAD là"
 
-#: builtin/checkout.c:784 builtin/checkout.c:1021
+#: 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:928
+#: 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:967
+#: builtin/checkout.c:973
 #, c-format
 msgid "invalid reference: %s"
 msgstr "tham chiếu không hợp lệ: %s"
 
-#: builtin/checkout.c:996
+#: 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:1035
+#: 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:1038 builtin/checkout.c:1042
+#: 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:1046 builtin/checkout.c:1049 builtin/checkout.c:1054
-#: builtin/checkout.c:1057
+#: 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:1062
+#: 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:1084 builtin/checkout.c:1086 builtin/clone.c:88
+#: builtin/checkout.c:1090 builtin/checkout.c:1092 builtin/clone.c:89
 #: builtin/remote.c:159 builtin/remote.c:161
 msgid "branch"
 msgstr "nhánh"
 
-#: builtin/checkout.c:1085
+#: 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:1087
+#: 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:1088
+#: builtin/checkout.c:1094
 msgid "create reflog for new branch"
 msgstr "tạo reflog cho nhánh mới"
 
-#: builtin/checkout.c:1089
+#: 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:1090
+#: 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:1092
+#: builtin/checkout.c:1098
 msgid "new-branch"
 msgstr "nhánh-mới"
 
-#: builtin/checkout.c:1092
+#: builtin/checkout.c:1098
 msgid "new unparented branch"
 msgstr "nhánh không cha mới"
 
-#: builtin/checkout.c:1093
+#: 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:1095
+#: 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:1097
+#: builtin/checkout.c:1103
 msgid "force checkout (throw away local modifications)"
 msgstr "ép buộc lấy ra (bỏ đi những thay đổi nội bộ)"
 
-#: builtin/checkout.c:1098
+#: 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:1099 builtin/merge.c:225
+#: builtin/checkout.c:1105 builtin/merge.c:226
 msgid "update ignored files (default)"
 msgstr "cập nhật các tập tin bị bỏ qua (mặc định)"
 
-#: builtin/checkout.c:1100 builtin/log.c:1236 parse-options.h:245
+#: builtin/checkout.c:1106 builtin/log.c:1239 parse-options.h:245
 msgid "style"
 msgstr "kiểu"
 
-#: builtin/checkout.c:1101
+#: 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:1104
+#: 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:1106
+#: 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:1129
+#: 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:1146
+#: builtin/checkout.c:1152
 msgid "--track needs a branch name"
 msgstr "--track cần tên một nhánh"
 
-#: builtin/checkout.c:1153
+#: builtin/checkout.c:1157
 msgid "Missing branch name; try -b"
 msgstr "Thiếu tên nhánh; hãy thử -b"
 
-#: builtin/checkout.c:1190
+#: builtin/checkout.c:1194
 msgid "invalid path specification"
 msgstr "đường dẫn đã cho không hợp lệ"
 
-#: builtin/checkout.c:1197
+#: builtin/checkout.c:1201
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -3597,12 +3691,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:1202
+#: builtin/checkout.c:1206
 #, 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:1206
+#: builtin/checkout.c:1210
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -3753,7 +3847,7 @@ msgstr "dọn bằng kiểu tương tác"
 msgid "remove whole directories"
 msgstr "gỡ bỏ toàn bộ thư mục"
 
-#: builtin/clean.c:880 builtin/describe.c:406 builtin/grep.c:714
+#: builtin/clean.c:880 builtin/describe.c:407 builtin/grep.c:714
 #: builtin/ls-files.c:486 builtin/name-rev.c:311 builtin/show-ref.c:185
 msgid "pattern"
 msgstr "mẫu"
@@ -3790,145 +3884,145 @@ msgstr ""
 "clean.requireForce mặc định được đặt là true và không đưa ra tùy chọn -i, -n "
 "mà cũng không -f; từ chối lệnh dọn dẹp (clean)"
 
-#: builtin/clone.c:36
+#: builtin/clone.c:37
 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:112 builtin/merge.c:222
-#: builtin/push.c:503
+#: builtin/clone.c:65 builtin/fetch.c:112 builtin/merge.c:223
+#: builtin/push.c:514
 msgid "force progress reporting"
 msgstr "ép buộc báo cáo tiến triển công việc"
 
-#: builtin/clone.c:66
+#: builtin/clone.c:67
 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:486
+#: builtin/clone.c:68 builtin/clone.c:70 builtin/init-db.c:488
 msgid "create a bare repository"
 msgstr "tạo kho thuần"
 
-#: builtin/clone.c:71
+#: builtin/clone.c:72
 msgid "create a mirror repository (implies bare)"
 msgstr "tạo kho bản sao (ý là kho thuần)"
 
-#: builtin/clone.c:73
+#: builtin/clone.c:74
 msgid "to clone from a local repository"
 msgstr "để nhân bản từ kho nội bộ"
 
-#: builtin/clone.c:75
+#: builtin/clone.c:76
 msgid "don't use local hardlinks, always copy"
 msgstr "không sử dụng liên kết cứng nội bộ, luôn sao chép"
 
-#: builtin/clone.c:77
+#: builtin/clone.c:78
 msgid "setup as shared repository"
 msgstr "cài đặt đây là kho chia sẻ"
 
-#: builtin/clone.c:79 builtin/clone.c:81
+#: builtin/clone.c:80 builtin/clone.c:82
 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:483
+#: builtin/clone.c:83 builtin/init-db.c:485
 msgid "template-directory"
 msgstr "thư-mục-mẫu"
 
-#: builtin/clone.c:83 builtin/init-db.c:484
+#: builtin/clone.c:84 builtin/init-db.c:486
 msgid "directory from which templates will be used"
 msgstr "thư mục mà tại đó các mẫu sẽ được dùng"
 
-#: builtin/clone.c:85
+#: builtin/clone.c:86
 msgid "reference repository"
 msgstr "kho tham chiếu"
 
-#: builtin/clone.c:86 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:87 builtin/column.c:26 builtin/merge-file.c:44
 msgid "name"
 msgstr "tên"
 
-#: builtin/clone.c:87
+#: builtin/clone.c:88
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "dùng <tên> thay cho “origin” để theo dõi thượng nguồn"
 
-#: builtin/clone.c:89
+#: builtin/clone.c:90
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "lấy ra <nhánh> thay cho HEAD của máy chủ"
 
-#: builtin/clone.c:91
+#: builtin/clone.c:92
 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:113 builtin/grep.c:659
+#: builtin/clone.c:93 builtin/fetch.c:113 builtin/grep.c:659
 msgid "depth"
 msgstr "độ-sâu"
 
-#: builtin/clone.c:93
+#: builtin/clone.c:94
 msgid "create a shallow clone of that depth"
 msgstr "tạo bản sao không đầy đủ cho mức sâu đã cho"
 
-#: builtin/clone.c:95
+#: builtin/clone.c:96
 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:492
+#: builtin/clone.c:97 builtin/init-db.c:494
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:97 builtin/init-db.c:493
+#: builtin/clone.c:98 builtin/init-db.c:495
 msgid "separate git dir from working tree"
 msgstr "không dùng chung thư mục dành riêng cho git và thư mục làm việc"
 
-#: builtin/clone.c:98
+#: builtin/clone.c:99
 msgid "key=value"
 msgstr "khóa=giá_trị"
 
-#: builtin/clone.c:99
+#: builtin/clone.c:100
 msgid "set config inside the new repository"
 msgstr "đặt cấu hình bên trong một kho chứa mới"
 
-#: builtin/clone.c:252
+#: builtin/clone.c:253
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "kho tham chiếu “%s” không phải là một kho nội bộ."
 
-#: builtin/clone.c:256
+#: builtin/clone.c:257
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "kho tham chiếu “%s” là nông"
 
-#: builtin/clone.c:259
+#: builtin/clone.c:260
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "kho tham chiếu “%s” bị cấy ghép"
 
-#: builtin/clone.c:321
+#: builtin/clone.c:322
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "tạo thư mục \"%s\" gặp lỗi"
 
-#: builtin/clone.c:323 builtin/diff.c:83
+#: builtin/clone.c:324 builtin/diff.c:84
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "gặp lỗi khi lấy thống kê về “%s”"
 
-#: builtin/clone.c:325
+#: builtin/clone.c:326
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s tồn tại nhưng không phải là một thư mục"
 
-#: builtin/clone.c:339
+#: builtin/clone.c:340
 #, c-format
 msgid "failed to stat %s\n"
 msgstr "gặp lỗi khi lấy thông tin thống kê về %s\n"
 
-#: builtin/clone.c:361
+#: builtin/clone.c:362
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "gặp lỗi khi tạo được liên kết mềm %s"
 
-#: builtin/clone.c:365
+#: builtin/clone.c:366
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "gặp lỗi khi sao chép tập tin và “%s”"
 
-#: builtin/clone.c:388 builtin/clone.c:565
+#: builtin/clone.c:389 builtin/clone.c:563
 #, c-format
 msgid "done.\n"
 msgstr "hoàn tất.\n"
@@ -3943,108 +4037,108 @@ msgstr ""
 "Bạn kiểm tra kỹ xem cái gì được lấy ra bằng lệnh “git status”\n"
 "và thử checkout với lệnh “git checkout -f HEAD”\n"
 
-#: builtin/clone.c:480
+#: builtin/clone.c:478
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "Không tìm thấy nhánh máy chủ %s để nhân bản (clone)."
 
-#: builtin/clone.c:560
+#: builtin/clone.c:558
 #, c-format
 msgid "Checking connectivity... "
 msgstr "Đang kiểm tra kết nối... "
 
-#: builtin/clone.c:563
+#: builtin/clone.c:561
 msgid "remote did not send all necessary objects"
 msgstr "máy chủ đã không gửi tất cả các đối tượng cần thiết"
 
-#: builtin/clone.c:627
+#: builtin/clone.c:625
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr "refers HEAD máy chủ  chỉ đến ref không tồn tại, không thể lấy ra.\n"
 
-#: builtin/clone.c:658
+#: builtin/clone.c:656
 msgid "unable to checkout working tree"
 msgstr "không thể lấy ra (checkout) cây làm việc"
 
-#: builtin/clone.c:768
+#: builtin/clone.c:765
 msgid "Too many arguments."
 msgstr "Có quá nhiều đối số."
 
-#: builtin/clone.c:772
+#: builtin/clone.c:769
 msgid "You must specify a repository to clone."
 msgstr "Bạn phải chỉ định một kho để mà nhân bản (clone)."
 
-#: builtin/clone.c:783
+#: builtin/clone.c:780
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "tùy chọn --bare và --origin %s xung khắc nhau."
 
-#: builtin/clone.c:786
+#: builtin/clone.c:783
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "tùy chọn --bare và --separate-git-dir xung khắc nhau."
 
-#: builtin/clone.c:799
+#: builtin/clone.c:796
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "kho chứa “%s” chưa tồn tại"
 
-#: builtin/clone.c:805 builtin/fetch.c:1143
+#: builtin/clone.c:802 builtin/fetch.c:1155
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "độ sâu %s không phải là một số nguyên dương"
 
-#: builtin/clone.c:815
+#: builtin/clone.c:812
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "đường dẫn đích “%s” đã có từ trước và không phải là một thư mục rỗng."
 
-#: builtin/clone.c:825
+#: builtin/clone.c:822
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "cây làm việc “%s” đã sẵn tồn tại rồi."
 
-#: builtin/clone.c:838 builtin/clone.c:850
+#: builtin/clone.c:835 builtin/clone.c:847
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "không thể tạo các thư mục dẫn đầu của “%s”"
 
-#: builtin/clone.c:841
+#: builtin/clone.c:838
 #, c-format
 msgid "could not create work tree dir '%s'."
 msgstr "không thể tạo cây thư mục làm việc dir “%s”."
 
-#: builtin/clone.c:860
+#: builtin/clone.c:857
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "Đang nhân bản thành kho chứa bare “%s”...\n"
 
-#: builtin/clone.c:862
+#: builtin/clone.c:859
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Đang nhân bản thành “%s”...\n"
 
-#: builtin/clone.c:898
+#: builtin/clone.c:895
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr "--depth bị lờ đi khi nhân bản nội bộ; hãy sử dụng file:// để thay thế."
 
-#: builtin/clone.c:901
+#: builtin/clone.c:898
 msgid "source repository is shallow, ignoring --local"
 msgstr "kho nguồn là nông, nên bỏ qua --local"
 
-#: builtin/clone.c:906
+#: builtin/clone.c:903
 msgid "--local is ignored"
 msgstr "--local bị lờ đi"
 
-#: builtin/clone.c:910
+#: builtin/clone.c:907
 #, c-format
 msgid "Don't know how to clone %s"
 msgstr "Không biết làm cách nào để nhân bản (clone) %s"
 
-#: builtin/clone.c:961 builtin/clone.c:969
+#: builtin/clone.c:958 builtin/clone.c:966
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "Nhánh máy chủ %s không tìm thấy trong thượng nguồn %s"
 
-#: builtin/clone.c:972
+#: builtin/clone.c:969
 msgid "You appear to have cloned an empty repository."
 msgstr "Bạn hình như là đã nhân bản một kho trống rỗng."
 
@@ -4080,15 +4174,46 @@ msgstr "Chèn thêm khoảng trắng giữa các cột"
 msgid "--command must be the first argument"
 msgstr "--command phải là đối số đầu tiên"
 
-#: builtin/commit.c:36
+#: builtin/commit.c:37
 msgid "git commit [options] [--] <pathspec>..."
 msgstr "git commit [các-tùy-chọn] [--] <pathspec>..."
 
-#: builtin/commit.c:41
+#: builtin/commit.c:42
 msgid "git status [options] [--] <pathspec>..."
 msgstr "git status [các-tùy-chọn] [--] <pathspec>..."
 
-#: builtin/commit.c:46
+#: builtin/commit.c:47
+msgid ""
+"Your name and email address were configured automatically based\n"
+"on your username and hostname. Please check that they are accurate.\n"
+"You can suppress this message by setting them explicitly. Run the\n"
+"following command and follow the instructions in your editor to edit\n"
+"your configuration file:\n"
+"\n"
+"    git config --global --edit\n"
+"\n"
+"After doing this, you may fix the identity used for this commit with:\n"
+"\n"
+"    git commit --amend --reset-author\n"
+msgstr ""
+"Tên và địa chỉ thư điện tử của bạn được cấu hình một cách tự động trên cơ "
+"sở\n"
+"tài khoản và địa chỉ máy chủ của bạn. Xin hãy kiểm tra xem chúng có chính "
+"xác không.\n"
+"Bạn có thể chặn những thông báo kiểu này bằng cách cài đặt các thông tin "
+"trên\n"
+"một cách rõ ràng. Chạy lệnh sau đây là theo các hướng dẫn trong bộ soạn "
+"thảo\n"
+"để chỉnh sửa tập tin cấu hình của mình:\n"
+"\n"
+"    git config --global --edit\n"
+"\n"
+"Sau khi thực hiện xong, bạn có thể sửa chữa định danh được sử dụng cho\n"
+"lần chuyển giao này với lệnh:\n"
+"\n"
+"    git commit --amend --reset-author\n"
+
+#: builtin/commit.c:60
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -4116,7 +4241,7 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: builtin/commit.c:58
+#: builtin/commit.c:72
 msgid ""
 "You asked to amend the most recent commit, but doing so would make\n"
 "it empty. You can repeat your command with --allow-empty, or you can\n"
@@ -4129,7 +4254,7 @@ msgstr ""
 "hoặc là bạn gỡ bỏ các lần chuyển giao một cách hoàn toàn bằng lệnh:\n"
 "\"git reset HEAD^\".\n"
 
-#: builtin/commit.c:63
+#: builtin/commit.c:77
 msgid ""
 "The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
 "If you wish to commit it anyway, use:\n"
@@ -4144,11 +4269,11 @@ msgstr ""
 "    git commit --allow-empty\n"
 "\n"
 
-#: builtin/commit.c:70
+#: builtin/commit.c:84
 msgid "Otherwise, please use 'git reset'\n"
 msgstr "Nếu không được thì dùng lệnh \"git reset\"\n"
 
-#: builtin/commit.c:73
+#: builtin/commit.c:87
 msgid ""
 "If you wish to skip this commit, use:\n"
 "\n"
@@ -4164,60 +4289,77 @@ 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:288
+#: builtin/commit.c:302
 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:328
+#: builtin/commit.c:342
 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:334
+#: builtin/commit.c:348
 msgid "interactive add failed"
 msgstr "gặp lỗi khi thêm bằng cách tương"
 
-#: builtin/commit.c:366 builtin/commit.c:387 builtin/commit.c:435
+#: builtin/commit.c:359
+msgid "unable to write index file"
+msgstr "không thể ghi tập tin lưu mục lục"
+
+#: builtin/commit.c:361
+msgid "unable to update temporary index"
+msgstr "không thể cập nhật bảng mục lục tạm thời"
+
+#: builtin/commit.c:363
+msgid "Failed to update main cache tree"
+msgstr "Gặp lỗi khi cập nhật cây bộ nhớ đệm"
+
+#: builtin/commit.c:387 builtin/commit.c:412 builtin/commit.c:461
 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:418
+#: builtin/commit.c:443
 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:420
+#: builtin/commit.c:445
 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:429
+#: builtin/commit.c:454
 msgid "cannot read the index"
 msgstr "không đọc được bảng mục lục"
 
-#: builtin/commit.c:447
+#: builtin/commit.c:473
 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:557 builtin/commit.c:563
+#: builtin/commit.c:592
+#, c-format
+msgid "commit '%s' lacks author header"
+msgstr "lần chuyển giao “%s” thiếu phần tác giả ở đầu"
+
+#: builtin/commit.c:594
 #, c-format
-msgid "invalid commit: %s"
-msgstr "lần chuyển giao không hợp lệ: %s"
+msgid "commit '%s' has malformed author line"
+msgstr "lần chuyển giao “%s” có phần tác giả ở đầu dị dạng"
 
-#: builtin/commit.c:585
+#: builtin/commit.c:613
 msgid "malformed --author parameter"
 msgstr "đối số cho --author bị dị hình"
 
-#: builtin/commit.c:592
+#: builtin/commit.c:621
 #, c-format
 msgid "invalid date format: %s"
 msgstr "ngày tháng không hợp lệ: %s"
 
-#: builtin/commit.c:609
+#: builtin/commit.c:642
 #, c-format
 msgid "Malformed ident string: '%s'"
 msgstr "Chuỗi thụt lề đầu dòng dị hình: “%s”"
 
-#: builtin/commit.c:642
+#: builtin/commit.c:675
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
@@ -4225,43 +4367,43 @@ msgstr ""
 "không thể chọn một ký tự ghi chú cái mà không được dùng\n"
 "trong phần ghi chú hiện tại"
 
-#: builtin/commit.c:679 builtin/commit.c:712 builtin/commit.c:1086
+#: builtin/commit.c:712 builtin/commit.c:745 builtin/commit.c:1120
 #, 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:691 builtin/shortlog.c:273
+#: builtin/commit.c:724 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:693
+#: builtin/commit.c:726
 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:697
+#: builtin/commit.c:730
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "không đọc được tệp nhật ký “%s”"
 
-#: builtin/commit.c:719
+#: builtin/commit.c:752
 msgid "could not read MERGE_MSG"
 msgstr "không thể đọc MERGE_MSG"
 
-#: builtin/commit.c:723
+#: builtin/commit.c:756
 msgid "could not read SQUASH_MSG"
 msgstr "không thể đọc SQUASH_MSG"
 
-#: builtin/commit.c:727
+#: builtin/commit.c:760
 #, c-format
 msgid "could not read '%s'"
 msgstr "Không thể đọc “%s”."
 
-#: builtin/commit.c:798
+#: builtin/commit.c:831
 msgid "could not write commit template"
 msgstr "không thể ghi mẫu chuyển giao"
 
-#: builtin/commit.c:816
+#: builtin/commit.c:849
 #, c-format
 msgid ""
 "\n"
@@ -4276,7 +4418,7 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:821
+#: builtin/commit.c:854
 #, c-format
 msgid ""
 "\n"
@@ -4291,7 +4433,7 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:834
+#: builtin/commit.c:867
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -4302,7 +4444,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:841
+#: builtin/commit.c:874
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -4314,154 +4456,154 @@ 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:855
+#: builtin/commit.c:888
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%sTác giả:           %.*s <%.*s>"
 
-#: builtin/commit.c:863
+#: builtin/commit.c:896
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%sNgày tháng:        %s"
 
-#: builtin/commit.c:870
+#: builtin/commit.c:903
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%sNgười chuyển giao: %.*s <%.*s>"
 
-#: builtin/commit.c:888
+#: builtin/commit.c:921
 msgid "Cannot read index"
 msgstr "Không đọc được bảng mục lục"
 
-#: builtin/commit.c:945
+#: builtin/commit.c:978
 msgid "Error building trees"
 msgstr "Gặp lỗi khi xây dựng cây"
 
-#: builtin/commit.c:960 builtin/tag.c:495
+#: builtin/commit.c:993 builtin/tag.c:495
 #, 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:1061
+#: builtin/commit.c:1095
 #, 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:1076 builtin/commit.c:1316
+#: builtin/commit.c:1110 builtin/commit.c:1350
 #, 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:1113
+#: builtin/commit.c:1147
 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:1143
+#: builtin/commit.c:1177
 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:1152
+#: builtin/commit.c:1186
 msgid "You have nothing to amend."
 msgstr "Không có gì để mà “tu bổ” cả."
 
-#: builtin/commit.c:1155
+#: builtin/commit.c:1189
 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:1157
+#: builtin/commit.c:1191
 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:1160
+#: builtin/commit.c:1194
 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:1170
+#: builtin/commit.c:1204
 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:1172
+#: builtin/commit.c:1206
 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:1180
+#: builtin/commit.c:1214
 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:1197
+#: builtin/commit.c:1231
 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:1199
+#: builtin/commit.c:1233
 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:1201
+#: builtin/commit.c:1235
 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:1203
+#: builtin/commit.c:1237
 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; coi "
 "là --only những đường dẫn"
 
-#: builtin/commit.c:1215 builtin/tag.c:727
+#: builtin/commit.c:1249 builtin/tag.c:728
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Chế độ dọn dẹp không hợp lệ %s"
 
-#: builtin/commit.c:1220
+#: builtin/commit.c:1254
 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:1330 builtin/commit.c:1595
+#: builtin/commit.c:1364 builtin/commit.c:1644
 msgid "show status concisely"
 msgstr "hiển thị trạng thái ở dạng súc tích"
 
-#: builtin/commit.c:1332 builtin/commit.c:1597
+#: builtin/commit.c:1366 builtin/commit.c:1646
 msgid "show branch information"
 msgstr "hiển thị thông tin nhánh"
 
-#: builtin/commit.c:1334 builtin/commit.c:1599 builtin/push.c:489
+#: builtin/commit.c:1368 builtin/commit.c:1648 builtin/push.c:500
 msgid "machine-readable output"
 msgstr "kết xuất dạng máy-có-thể-đọc"
 
-#: builtin/commit.c:1337 builtin/commit.c:1601
+#: builtin/commit.c:1371 builtin/commit.c:1650
 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:1340 builtin/commit.c:1604
+#: builtin/commit.c:1374 builtin/commit.c:1653
 msgid "terminate entries with NUL"
 msgstr "chấm dứt các mục bằng NUL"
 
-#: builtin/commit.c:1342 builtin/commit.c:1607 builtin/fast-export.c:703
-#: builtin/fast-export.c:706 builtin/tag.c:602
+#: builtin/commit.c:1376 builtin/commit.c:1656 builtin/fast-export.c:980
+#: builtin/fast-export.c:983 builtin/tag.c:603
 msgid "mode"
 msgstr "chế độ"
 
-#: builtin/commit.c:1343 builtin/commit.c:1607
+#: builtin/commit.c:1377 builtin/commit.c:1656
 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:1346
+#: builtin/commit.c:1380
 msgid "show ignored files"
 msgstr "hiển thị các tập tin ẩn"
 
-#: builtin/commit.c:1347 parse-options.h:153
+#: builtin/commit.c:1381 parse-options.h:153
 msgid "when"
 msgstr "khi"
 
-#: builtin/commit.c:1348
+#: builtin/commit.c:1382
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -4469,230 +4611,222 @@ 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:1350
+#: builtin/commit.c:1384
 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:1419
+#: builtin/commit.c:1471
 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:1421
+#: builtin/commit.c:1473
 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:1469
+#: builtin/commit.c:1518
 msgid "detached HEAD"
 msgstr "đã rời khỏi HEAD"
 
-#: builtin/commit.c:1471
+#: builtin/commit.c:1521
 msgid " (root-commit)"
 msgstr " (root-commit)"
 
-#: builtin/commit.c:1565
+#: builtin/commit.c:1614
 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:1566
+#: builtin/commit.c:1615
 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:1568
+#: builtin/commit.c:1617
 msgid "Commit message options"
 msgstr "Các tùy chọn ghi chú commit"
 
-#: builtin/commit.c:1569 builtin/tag.c:600
+#: builtin/commit.c:1618 builtin/tag.c:601
 msgid "read message from file"
 msgstr "đọc chú thích từ tập tin"
 
-#: builtin/commit.c:1570
+#: builtin/commit.c:1619
 msgid "author"
 msgstr "tác giả"
 
-#: builtin/commit.c:1570
+#: builtin/commit.c:1619
 msgid "override author for commit"
 msgstr "ghi đè tác giả cho commit"
 
-#: builtin/commit.c:1571 builtin/gc.c:286
+#: builtin/commit.c:1620 builtin/gc.c:275
 msgid "date"
 msgstr "ngày tháng"
 
-#: builtin/commit.c:1571
+#: builtin/commit.c:1620
 msgid "override date for commit"
 msgstr "ghi đè ngày tháng cho lần chuyển giao"
 
-#: builtin/commit.c:1572 builtin/merge.c:216 builtin/notes.c:409
-#: builtin/notes.c:566 builtin/tag.c:598
+#: builtin/commit.c:1621 builtin/merge.c:217 builtin/notes.c:408
+#: builtin/notes.c:565 builtin/tag.c:599
 msgid "message"
 msgstr "chú thích"
 
-#: builtin/commit.c:1572
+#: builtin/commit.c:1621
 msgid "commit message"
 msgstr "chú thích của lần chuyển giao"
 
-#: builtin/commit.c:1573
+#: builtin/commit.c:1622
 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:1574
+#: builtin/commit.c:1623
 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:1575
+#: builtin/commit.c:1624
 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:1576
+#: builtin/commit.c:1625
 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:1577
+#: builtin/commit.c:1626
 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:1578 builtin/log.c:1188 builtin/revert.c:86
+#: builtin/commit.c:1627 builtin/log.c:1191 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "(nên dùng) thêm dòng Signed-off-by:"
 
-#: builtin/commit.c:1579
+#: builtin/commit.c:1628
 msgid "use specified template file"
 msgstr "sử dụng tập tin mẫu đã cho"
 
-#: builtin/commit.c:1580
+#: builtin/commit.c:1629
 msgid "force edit of commit"
 msgstr "ép buộc sửa lần commit"
 
-#: builtin/commit.c:1581
+#: builtin/commit.c:1630
 msgid "default"
 msgstr "mặc định"
 
-#: builtin/commit.c:1581 builtin/tag.c:603
+#: builtin/commit.c:1630 builtin/tag.c:604
 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:1582
+#: builtin/commit.c:1631
 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:1583 builtin/merge.c:223 builtin/revert.c:92
-#: builtin/tag.c:604
+#: builtin/commit.c:1632 builtin/merge.c:224 builtin/revert.c:92
+#: builtin/tag.c:605
 msgid "key-id"
 msgstr "mã-số-khóa"
 
-#: builtin/commit.c:1584 builtin/merge.c:224 builtin/revert.c:93
+#: builtin/commit.c:1633 builtin/merge.c:225 builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "ký lần chuyển giao dùng GPG"
 
-#: builtin/commit.c:1587
+#: builtin/commit.c:1636
 msgid "Commit contents options"
 msgstr "Các tùy nội dung ghi chú commit"
 
-#: builtin/commit.c:1588
+#: builtin/commit.c:1637
 msgid "commit all changed files"
 msgstr "chuyển giao tất cả các tập tin có thay đổi"
 
-#: builtin/commit.c:1589
+#: builtin/commit.c:1638
 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:1590
+#: builtin/commit.c:1639
 msgid "interactively add files"
 msgstr "thêm các tập-tin bằng tương tác"
 
-#: builtin/commit.c:1591
+#: builtin/commit.c:1640
 msgid "interactively add changes"
 msgstr "thêm các thay đổi bằng tương tác"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1641
 msgid "commit only specified files"
 msgstr "chỉ chuyển giao các tập tin đã chỉ ra"
 
-#: builtin/commit.c:1593
+#: builtin/commit.c:1642
 msgid "bypass pre-commit hook"
 msgstr "vòng qua móc (hook) pre-commit"
 
-#: builtin/commit.c:1594
+#: builtin/commit.c:1643
 msgid "show what would be committed"
 msgstr "hiển thị xem cái gì có thể được chuyển giao"
 
-#: builtin/commit.c:1605
+#: builtin/commit.c:1654
 msgid "amend previous commit"
 msgstr "“tu bổ” (amend) lần commit trước"
 
-#: builtin/commit.c:1606
+#: builtin/commit.c:1655
 msgid "bypass post-rewrite hook"
 msgstr "vòng qua móc (hook) post-rewrite"
 
-#: builtin/commit.c:1611
+#: builtin/commit.c:1660
 msgid "ok to record an empty change"
 msgstr "ok để ghi lại một thay đổi trống rỗng"
 
-#: builtin/commit.c:1613
+#: builtin/commit.c:1662
 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:1641
+#: builtin/commit.c:1691
 msgid "could not parse HEAD commit"
 msgstr "không thể phân tích commit (lần chuyển giao) HEAD"
 
-#: builtin/commit.c:1680 builtin/merge.c:518
+#: builtin/commit.c:1730 builtin/merge.c:518
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "không thể mở “%s” để đọc"
 
-#: builtin/commit.c:1687
+#: builtin/commit.c:1737
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Tập tin MERGE_HEAD sai hỏng (%s)"
 
-#: builtin/commit.c:1694
+#: builtin/commit.c:1744
 msgid "could not read MERGE_MODE"
 msgstr "không thể đọc MERGE_MODE"
 
-#: builtin/commit.c:1713
+#: builtin/commit.c:1763
 #, 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:1724
+#: builtin/commit.c:1774
 #, 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:1729
+#: builtin/commit.c:1779
 #, 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:1744 builtin/merge.c:851 builtin/merge.c:876
+#: builtin/commit.c:1794 builtin/merge.c:850 builtin/merge.c:875
 msgid "failed to write commit object"
 msgstr "gặp lỗi khi ghi đối tượng chuyển giao"
 
-#: builtin/commit.c:1756
-msgid "cannot lock HEAD ref"
-msgstr "không thể khóa HEAD ref (tham chiếu)"
-
-#: builtin/commit.c:1769
-msgid "cannot update HEAD ref"
-msgstr "không thể cập nhật ref (tham chiếu) HEAD"
-
-#: builtin/commit.c:1780
+#: builtin/commit.c:1827
 msgid ""
 "Repository has been updated, but unable to write\n"
-"new_index file. Check that disk is not full or quota is\n"
+"new_index file. Check that disk is not full and quota is\n"
 "not exceeded, and then \"git reset HEAD\" to recover."
 msgstr ""
-"Kho chứa đã hoàn tất việc cập nhật, nhưng không thể ghi vào\n"
-"tập tin new_index (bảng mục lục mới). Hãy kiểm tra xem đĩa có bị đầy quá\n"
-"hay quota (hạn nghạch) bị vượt quá, và sau đó \"git reset HEAD\" để khắc "
-"phục."
+"Kho chứa đã được cập nhật, nhưng không thể ghi vào\n"
+"tập tin new_index (bảng mục lục mới). Hãy kiểm tra xem đĩa\n"
+"có bị đầy quá hay quota (hạn nghạch đĩa cứng) bị vượt quá,\n"
+"và sau đó \"git reset HEAD\" để khắc phục."
 
 #: builtin/config.c:8
 msgid "git config [options]"
@@ -4822,63 +4956,87 @@ msgstr "chấm dứt giá trị với byte NUL"
 msgid "respect include directives on lookup"
 msgstr "tôn trọng kể cà các hướng trong tìm kiếm"
 
-#: builtin/count-objects.c:82
+#: builtin/config.c:315
+msgid "unable to parse default color value"
+msgstr "không thể phân tích giá trị màu mặc định"
+
+#: builtin/config.c:455
+#, c-format
+msgid ""
+"# This is Git's per-user configuration file.\n"
+"[core]\n"
+"# Please adapt and uncomment the following lines:\n"
+"#\tuser = %s\n"
+"#\temail = %s\n"
+msgstr ""
+"# Đây là tập tin cấu hình cho từng người dùng Git.\n"
+"[core]\n"
+"# Vui lòng sửa lại cho thích hợp và bỏ dấu ghi chú các dòng sau:\n"
+"#\tuser = %s\n"
+"#\temail = %s\n"
+
+#: builtin/config.c:590
+#, c-format
+msgid "cannot create configuration file %s"
+msgstr "không thể tạo tập tin cấu hình “%s”"
+
+#: builtin/count-objects.c:55
 msgid "git count-objects [-v] [-H | --human-readable]"
 msgstr "git count-objects [-v] [-H | --human-readable]"
 
-#: builtin/count-objects.c:97
+#: builtin/count-objects.c:65
 msgid "print sizes in human readable format"
 msgstr "hiển thị kích cỡ theo định dạng dành cho người đọc"
 
-#: builtin/describe.c:16
+#: builtin/describe.c:17
 msgid "git describe [options] <commit-ish>*"
 msgstr "git describe [các-tùy-chọn] <commit-ish>*"
 
-#: builtin/describe.c:17
+#: builtin/describe.c:18
 msgid "git describe [options] --dirty"
 msgstr "git describe [các-tùy-chọn] --dirty"
 
-#: builtin/describe.c:216
+#: builtin/describe.c:217
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "thẻ đã được ghi chú %s không sẵn để dùng"
 
-#: builtin/describe.c:220
+#: builtin/describe.c:221
 #, 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:222
+#: builtin/describe.c:223
 #, c-format
 msgid "tag '%s' is really '%s' here"
 msgstr "thẻ “%s” đã thực sự ở đây “%s” rồi"
 
-#: builtin/describe.c:249
+#: builtin/describe.c:250 builtin/log.c:452
 #, 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:252
+#: builtin/describe.c:253
 #, 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:269
+#: builtin/describe.c:270
 #, 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:271
+#: builtin/describe.c:272
 #, c-format
 msgid "searching to describe %s\n"
 msgstr "Đang tìm kiếm để mô tả %s\n"
 
-#: builtin/describe.c:318
+#: builtin/describe.c:319
 #, 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:345
+#: builtin/describe.c:346
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
@@ -4887,7 +5045,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:349
+#: builtin/describe.c:350
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
@@ -4896,12 +5054,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:370
+#: builtin/describe.c:371
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr "đã xuyên %lu qua lần chuyển giao\n"
 
-#: builtin/describe.c:373
+#: builtin/describe.c:374
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
@@ -4910,143 +5068,147 @@ 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:395
+#: builtin/describe.c:396
 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:396
+#: builtin/describe.c:397
 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:397
+#: builtin/describe.c:398
 msgid "use any ref"
 msgstr "dùng ref bất kỳ"
 
-#: builtin/describe.c:398
+#: builtin/describe.c:399
 msgid "use any tag, even unannotated"
 msgstr "dùng thẻ bất kỳ, cả khi “unannotated”"
 
-#: builtin/describe.c:399
+#: builtin/describe.c:400
 msgid "always use long format"
 msgstr "luôn dùng định dạng dài"
 
-#: builtin/describe.c:400
+#: builtin/describe.c:401
 msgid "only follow first parent"
 msgstr "chỉ theo cha mẹ đầu tiên"
 
-#: builtin/describe.c:403
+#: builtin/describe.c:404
 msgid "only output exact matches"
 msgstr "chỉ xuất những gì khớp chính xác"
 
-#: builtin/describe.c:405
+#: builtin/describe.c:406
 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:407
+#: builtin/describe.c:408
 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:409 builtin/name-rev.c:318
+#: builtin/describe.c:410 builtin/name-rev.c:318
 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:410
+#: builtin/describe.c:411
 msgid "mark"
 msgstr "dấu"
 
-#: builtin/describe.c:411
+#: builtin/describe.c:412
 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:429
+#: builtin/describe.c:430
 msgid "--long is incompatible with --abbrev=0"
 msgstr "--long là xung khắc với tùy chọn --abbrev=0"
 
-#: builtin/describe.c:455
+#: builtin/describe.c:456
 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:475
+#: builtin/describe.c:476
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty là xung khắc với các tùy chọn commit-ish"
 
-#: builtin/diff.c:85
+#: builtin/diff.c:86
 #, c-format
 msgid "'%s': not a regular file or symlink"
 msgstr "“%s”: không phải tập tin bình thường hay liên kết mềm"
 
-#: builtin/diff.c:236
+#: builtin/diff.c:237
 #, c-format
 msgid "invalid option: %s"
 msgstr "tùy chọn không hợp lệ: %s"
 
-#: builtin/diff.c:357
+#: builtin/diff.c:358
 msgid "Not a git repository"
 msgstr "Không phải là kho git"
 
-#: builtin/diff.c:400
+#: builtin/diff.c:401
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "đối tượng đã cho “%s” không hợp lệ."
 
-#: builtin/diff.c:409
+#: builtin/diff.c:410
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "đã cho nhiều hơn hai đối tượng blob: “%s”"
 
-#: builtin/diff.c:416
+#: builtin/diff.c:417
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "đã cho đối tượng không thể nắm giữ “%s”."
 
-#: builtin/fast-export.c:23
+#: builtin/fast-export.c:24
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [rev-list-opts]"
 
-#: builtin/fast-export.c:702
+#: builtin/fast-export.c:979
 msgid "show progress after <n> objects"
 msgstr "hiển thị tiến triển sau <n> đối tượng"
 
-#: builtin/fast-export.c:704
+#: builtin/fast-export.c:981
 msgid "select handling of signed tags"
 msgstr "chọn điều khiển của thẻ đã ký"
 
-#: builtin/fast-export.c:707
+#: builtin/fast-export.c:984
 msgid "select handling of tags that tag filtered objects"
 msgstr "chọn sự xử lý của các thẻ, cái mà đánh thẻ các đối tượng được lọc ra"
 
-#: builtin/fast-export.c:710
+#: builtin/fast-export.c:987
 msgid "Dump marks to this file"
 msgstr "Đổ các đánh dấu này vào tập-tin"
 
-#: builtin/fast-export.c:712
+#: builtin/fast-export.c:989
 msgid "Import marks from this file"
 msgstr "nhập vào đánh dấu từ tập tin này"
 
-#: builtin/fast-export.c:714
+#: builtin/fast-export.c:991
 msgid "Fake a tagger when tags lack one"
 msgstr "Làm giả một cái thẻ khi thẻ bị thiếu một cái"
 
-#: builtin/fast-export.c:716
+#: builtin/fast-export.c:993
 msgid "Output full tree for each commit"
 msgstr "Xuất ra toàn bộ cây cho mỗi lần chuyển giao"
 
-#: builtin/fast-export.c:718
+#: builtin/fast-export.c:995
 msgid "Use the done feature to terminate the stream"
 msgstr "Sử dụng tính năng done để chấm dứt luồng dữ liệu"
 
-#: builtin/fast-export.c:719
+#: builtin/fast-export.c:996
 msgid "Skip output of blob data"
 msgstr "Bỏ qua kết xuất của dữ liệu blob"
 
-#: builtin/fast-export.c:720
+#: builtin/fast-export.c:997
 msgid "refspec"
 msgstr "refspec"
 
-#: builtin/fast-export.c:721
+#: builtin/fast-export.c:998
 msgid "Apply refspec to exported refs"
 msgstr "Áp dụng refspec cho refs đã xuất"
 
+#: builtin/fast-export.c:999
+msgid "anonymize output"
+msgstr "kết xuất anonymize"
+
 #: builtin/fetch.c:20
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr "git fetch [<các-tùy-chọn>] [<kho-chứa> [<refspec>...]]"
@@ -5073,7 +5235,7 @@ msgstr "nối thêm vào .git/FETCH_HEAD thay vì ghi đè lên nó"
 
 #: builtin/fetch.c:94
 msgid "path to upload pack on remote end"
-msgstr "đường dẫn đến gói (pack) tải lên trên máy chủ cuối"
+msgstr "đường dẫn đến gói tải lên trên máy chủ cuối"
 
 #: builtin/fetch.c:95
 msgid "force overwrite of local branch"
@@ -5107,7 +5269,7 @@ msgstr "điều khiển việc lấy về đệ quy trong các mô-đun-con"
 
 #: builtin/fetch.c:109
 msgid "keep downloaded pack"
-msgstr "giữ các gói đã tải về"
+msgstr "giữ lại gói đã tải về"
 
 #: builtin/fetch.c:111
 msgid "allow updating of HEAD ref"
@@ -5121,7 +5283,7 @@ msgstr "làm sâu hơn lịch sử của bản sao"
 msgid "convert to a complete repository"
 msgstr "chuyển đổi hoàn toàn sang kho git"
 
-#: builtin/fetch.c:118 builtin/log.c:1205
+#: builtin/fetch.c:118 builtin/log.c:1208
 msgid "dir"
 msgstr "tmục"
 
@@ -5149,136 +5311,136 @@ msgstr "chỉ ra refmap cần lấy về"
 msgid "Couldn't find remote ref HEAD"
 msgstr "Không thể tìm thấy máy chủ cho tham chiếu HEAD"
 
-#: builtin/fetch.c:440
+#: builtin/fetch.c:454
 #, c-format
 msgid "object %s not found"
 msgstr "Không tìm thấy đối tượng %s"
 
-#: builtin/fetch.c:445
+#: builtin/fetch.c:459
 msgid "[up to date]"
 msgstr "[đã cập nhật]"
 
-#: builtin/fetch.c:459
+#: builtin/fetch.c:473
 #, c-format
 msgid "! %-*s %-*s -> %s  (can't fetch in current branch)"
 msgstr "! %-*s %-*s -> %s  (không thể fetch (lấy) về nhánh hiện hành)"
 
-#: builtin/fetch.c:460 builtin/fetch.c:546
+#: builtin/fetch.c:474 builtin/fetch.c:560
 msgid "[rejected]"
 msgstr "[Bị từ chối]"
 
-#: builtin/fetch.c:471
+#: builtin/fetch.c:485
 msgid "[tag update]"
 msgstr "[cập nhật thẻ]"
 
-#: builtin/fetch.c:473 builtin/fetch.c:508 builtin/fetch.c:526
+#: builtin/fetch.c:487 builtin/fetch.c:522 builtin/fetch.c:540
 msgid "  (unable to update local ref)"
-msgstr "  (không thể cập nhật tham chiếu (ref) nội bộ)"
+msgstr "  (không thể cập nhật tham chiếu nội bộ)"
 
-#: builtin/fetch.c:491
+#: builtin/fetch.c:505
 msgid "[new tag]"
 msgstr "[thẻ mới]"
 
-#: builtin/fetch.c:494
+#: builtin/fetch.c:508
 msgid "[new branch]"
 msgstr "[nhánh mới]"
 
-#: builtin/fetch.c:497
+#: builtin/fetch.c:511
 msgid "[new ref]"
 msgstr "[ref (tham chiếu) mới]"
 
-#: builtin/fetch.c:542
+#: builtin/fetch.c:556
 msgid "unable to update local ref"
-msgstr "không thể cập nhật tham chiếu (ref) nội bộ"
+msgstr "không thể cập nhật tham chiếu nội bộ"
 
-#: builtin/fetch.c:542
+#: builtin/fetch.c:556
 msgid "forced update"
 msgstr "cưỡng bức cập nhật"
 
-#: builtin/fetch.c:548
+#: builtin/fetch.c:562
 msgid "(non-fast-forward)"
 msgstr "(non-fast-forward)"
 
-#: builtin/fetch.c:581 builtin/fetch.c:814
+#: builtin/fetch.c:595 builtin/fetch.c:828
 #, c-format
 msgid "cannot open %s: %s\n"
 msgstr "không thể mở %s: %s\n"
 
-#: builtin/fetch.c:590
+#: builtin/fetch.c:604
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s đã không gửi tất cả các đối tượng cần thiết\n"
 
-#: builtin/fetch.c:608
+#: builtin/fetch.c:622
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "từ chối %s bởi vì các gốc nông thì không được phép cập nhật"
 
-#: builtin/fetch.c:696 builtin/fetch.c:779
+#: builtin/fetch.c:710 builtin/fetch.c:793
 #, c-format
 msgid "From %.*s\n"
 msgstr "Từ %.*s\n"
 
-#: builtin/fetch.c:707
+#: builtin/fetch.c:721
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
 " 'git remote prune %s' to remove any old, conflicting branches"
 msgstr ""
-"một số tham chiếu (refs) nội bộ không thể được cập nhật; hãy thử chạy\n"
+"một số tham chiếu nội bộ không thể được cập nhật; hãy thử chạy\n"
 " “git remote prune %s” để bỏ đi những nhánh cũ, hay bị xung đột"
 
-#: builtin/fetch.c:759
+#: builtin/fetch.c:773
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s sẽ trở thành không đầu (không được quản lý))"
 
-#: builtin/fetch.c:760
+#: builtin/fetch.c:774
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s đã trở thành không đầu (không được quản lý))"
 
-#: builtin/fetch.c:784
+#: builtin/fetch.c:798
 msgid "[deleted]"
 msgstr "[đã xóa]"
 
-#: builtin/fetch.c:785 builtin/remote.c:1059
+#: builtin/fetch.c:799 builtin/remote.c:1063
 msgid "(none)"
 msgstr "(không)"
 
-#: builtin/fetch.c:804
+#: builtin/fetch.c:818
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr ""
 "Từ chối việc lấy vào trong nhánh hiện tại %s của một kho chứa không phải kho "
 "trần (bare)"
 
-#: builtin/fetch.c:823
+#: builtin/fetch.c:837
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "Tùy chọn \"%s\" có giá trị \"%s\" là không hợp lệ cho %s"
 
-#: builtin/fetch.c:826
+#: builtin/fetch.c:840
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "Tùy chọn \"%s\" bị bỏ qua với %s\n"
 
-#: builtin/fetch.c:882
+#: builtin/fetch.c:896
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr "Không biết làm cách nào để lấy về từ %s"
 
-#: builtin/fetch.c:1044
+#: builtin/fetch.c:1058
 #, c-format
 msgid "Fetching %s\n"
-msgstr "Đang lấy về %s\n"
+msgstr "Đang lấy “%s” về\n"
 
-#: builtin/fetch.c:1046 builtin/remote.c:90
+#: builtin/fetch.c:1060 builtin/remote.c:90
 #, c-format
 msgid "Could not fetch %s"
-msgstr "không thể lấy về %s"
+msgstr "không thể “%s” về"
 
-#: builtin/fetch.c:1064
+#: builtin/fetch.c:1078
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -5286,32 +5448,32 @@ msgstr ""
 "Chưa chỉ ra kho chứa máy chủ.  Xin hãy chỉ định hoặc là URL hoặc\n"
 "tên máy chủ từ cái mà những điểm xét duyệt mới có thể được fetch (lấy về)."
 
-#: builtin/fetch.c:1087
+#: builtin/fetch.c:1101
 msgid "You need to specify a tag name."
 msgstr "Bạn phải định rõ tên thẻ."
 
-#: builtin/fetch.c:1131
+#: builtin/fetch.c:1143
 msgid "--depth and --unshallow cannot be used together"
 msgstr "tùy chọn --depth và --unshallow không thể sử dụng cùng với nhau"
 
-#: builtin/fetch.c:1133
+#: builtin/fetch.c:1145
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "--unshallow trên kho hoàn chỉnh là không hợp lý"
 
-#: builtin/fetch.c:1156
+#: builtin/fetch.c:1168
 msgid "fetch --all does not take a repository argument"
 msgstr "lệnh lấy về \"fetch --all\" không lấy đối số kho chứa"
 
-#: builtin/fetch.c:1158
+#: builtin/fetch.c:1170
 msgid "fetch --all does not make sense with refspecs"
 msgstr "lệnh lấy về \"fetch --all\" không hợp lý với refspecs"
 
-#: builtin/fetch.c:1169
+#: builtin/fetch.c:1181
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "không có nhóm máy chủ hay máy chủ như thế: %s"
 
-#: builtin/fetch.c:1177
+#: builtin/fetch.c:1189
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "Việc lấy về cả một nhóm và chỉ định refspecs không hợp lý"
 
@@ -5321,8 +5483,8 @@ 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:698
-#: builtin/merge.c:196 builtin/repack.c:179 builtin/repack.c:183
-#: builtin/show-branch.c:654 builtin/show-ref.c:178 builtin/tag.c:589
+#: builtin/merge.c:197 builtin/repack.c:179 builtin/repack.c:183
+#: builtin/show-branch.c:654 builtin/show-ref.c:178 builtin/tag.c:590
 #: parse-options.h:132 parse-options.h:239
 msgid "n"
 msgstr "n"
@@ -5347,99 +5509,103 @@ msgstr "dùng <văn bản thường> để bắt đầu ghi chú"
 msgid "file to read from"
 msgstr "tập tin để đọc dữ liệu từ đó"
 
-#: builtin/for-each-ref.c:1051
+#: builtin/for-each-ref.c:676
+msgid "unable to parse format"
+msgstr "không thể phân tích định dạng"
+
+#: builtin/for-each-ref.c:1057
 msgid "git for-each-ref [options] [<pattern>]"
 msgstr "git for-each-ref [các-tùy-chọn] [<mẫu>]"
 
-#: builtin/for-each-ref.c:1066
+#: builtin/for-each-ref.c:1072
 msgid "quote placeholders suitably for shells"
 msgstr "trích dẫn để phù hợp cho hệ vỏ (shell)"
 
-#: builtin/for-each-ref.c:1068
+#: builtin/for-each-ref.c:1074
 msgid "quote placeholders suitably for perl"
 msgstr "trích dẫn để phù hợp cho perl"
 
-#: builtin/for-each-ref.c:1070
+#: builtin/for-each-ref.c:1076
 msgid "quote placeholders suitably for python"
 msgstr "trích dẫn để phù hợp cho python"
 
-#: builtin/for-each-ref.c:1072
+#: builtin/for-each-ref.c:1078
 msgid "quote placeholders suitably for tcl"
 msgstr "trích dẫn để phù hợp cho tcl"
 
-#: builtin/for-each-ref.c:1075
+#: builtin/for-each-ref.c:1081
 msgid "show only <n> matched refs"
 msgstr "hiển thị chỉ <n> tham chiếu khớp"
 
-#: builtin/for-each-ref.c:1076 builtin/replace.c:435
+#: builtin/for-each-ref.c:1082 builtin/replace.c:438
 msgid "format"
 msgstr "định dạng"
 
-#: builtin/for-each-ref.c:1076
+#: builtin/for-each-ref.c:1082
 msgid "format to use for the output"
 msgstr "định dạng sẽ dùng cho đầu ra"
 
-#: builtin/for-each-ref.c:1077
+#: builtin/for-each-ref.c:1083
 msgid "key"
 msgstr "khóa"
 
-#: builtin/for-each-ref.c:1078
+#: builtin/for-each-ref.c:1084
 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
+#: builtin/fsck.c:147 builtin/prune.c:136
 msgid "Checking connectivity"
 msgstr "Đang kiểm tra kết nối"
 
-#: builtin/fsck.c:538
+#: builtin/fsck.c:540
 msgid "Checking object directories"
 msgstr "Đang kiểm tra các thư mục đối tượng"
 
-#: builtin/fsck.c:601
+#: builtin/fsck.c:603
 msgid "git fsck [options] [<object>...]"
 msgstr "git fsck [các-tùy-chọn] [<đối-tượng>...]"
 
-#: builtin/fsck.c:607
+#: builtin/fsck.c:609
 msgid "show unreachable objects"
 msgstr "hiển thị các đối tượng không thể đọc được"
 
-#: builtin/fsck.c:608
+#: builtin/fsck.c:610
 msgid "show dangling objects"
 msgstr "hiển thị các đối tượng không được quản lý"
 
-#: builtin/fsck.c:609
+#: builtin/fsck.c:611
 msgid "report tags"
 msgstr "báo cáo các thẻ"
 
-#: builtin/fsck.c:610
+#: builtin/fsck.c:612
 msgid "report root nodes"
 msgstr "báo cáo node gốc"
 
-#: builtin/fsck.c:611
+#: builtin/fsck.c:613
 msgid "make index objects head nodes"
-msgstr "tạo “ index objects head nodes”"
+msgstr "tạo “index objects head nodes”"
 
-#: builtin/fsck.c:612
+#: builtin/fsck.c:614
 msgid "make reflogs head nodes (default)"
-msgstr "tạo  reflogs head nodes (mặc định)"
+msgstr "tạo “reflogs head nodes” (mặc định)"
 
-#: builtin/fsck.c:613
+#: builtin/fsck.c:615
 msgid "also consider packs and alternate objects"
 msgstr "cũng cân nhắc đến các đối tượng gói và thay thế"
 
-#: builtin/fsck.c:614
+#: builtin/fsck.c:616
 msgid "enable more strict checking"
 msgstr "cho phép kiểm tra hạn chế hơn"
 
-#: builtin/fsck.c:616
+#: builtin/fsck.c:618
 msgid "write dangling objects in .git/lost-found"
 msgstr "ghi các đối tượng không được quản lý trong .git/lost-found"
 
-#: builtin/fsck.c:617 builtin/prune.c:144
+#: builtin/fsck.c:619 builtin/prune.c:108
 msgid "show progress"
 msgstr "hiển thị quá trình"
 
-#: builtin/fsck.c:667
+#: builtin/fsck.c:669
 msgid "Checking objects"
 msgstr "Đang kiểm tra các đối tượng"
 
@@ -5447,50 +5613,50 @@ msgstr "Đang kiểm tra các đối tượng"
 msgid "git gc [options]"
 msgstr "git gc [các-tùy-chọn]"
 
-#: builtin/gc.c:91
+#: builtin/gc.c:79
 #, c-format
-msgid "Invalid %s: '%s'"
-msgstr "%s không hợp lệ: “%s”"
+msgid "Invalid gc.pruneexpire: '%s'"
+msgstr "gc.pruneexpire không hợp lệ: “%s”"
 
-#: builtin/gc.c:118
+#: builtin/gc.c:107
 #, 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"
+msgstr "thư mục đối tượng dài một cách điên rồ %.*s"
 
-#: builtin/gc.c:287
+#: builtin/gc.c:276
 msgid "prune unreferenced objects"
 msgstr "xóa bỏ các đối tượng không được tham chiếu"
 
-#: builtin/gc.c:289
+#: builtin/gc.c:278
 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:290
+#: builtin/gc.c:279
 msgid "enable auto-gc mode"
 msgstr "bật chế độ auto-gc"
 
-#: builtin/gc.c:291
+#: builtin/gc.c:280
 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:332
+#: builtin/gc.c:321
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr ""
 "Tự động đóng gói kho chứa trên nền hệ thống để tối ưu hóa hiệu suất làm "
 "việc.\n"
 
-#: builtin/gc.c:334
+#: builtin/gc.c:323
 #, 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:335
+#: builtin/gc.c:324
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "Xem \"git help gc\" để có hướng dẫn cụ thể về cách dọn dẹp kho git.\n"
 
-#: builtin/gc.c:353
+#: builtin/gc.c:342
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
@@ -5498,7 +5664,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:375
+#: builtin/gc.c:364
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
@@ -5632,7 +5798,7 @@ msgstr "hiển thị số lượng khớp thay vì những dòng khớp với m
 
 #: builtin/grep.c:692
 msgid "highlight matches"
-msgstr "tô sáng cái khớp"
+msgstr "tô sáng phần khớp mẫu"
 
 #: builtin/grep.c:694
 msgid "print empty line between matches from different files"
@@ -5693,7 +5859,7 @@ msgstr "hiển thị cây phân tích cú pháp cho biểu thức “grep” (t
 
 #: builtin/grep.c:737
 msgid "pager"
-msgstr "giấy"
+msgstr "dàn trang"
 
 #: builtin/grep.c:737
 msgid "show matching files in the pager"
@@ -5733,7 +5899,7 @@ msgstr "--[no-]exclude-standard không thể sử dụng cho nội dung lưu d
 msgid "both --cached and trees are given."
 msgstr "cả hai --cached và các cây phải được chỉ ra."
 
-#: builtin/hash-object.c:60
+#: builtin/hash-object.c:82
 msgid ""
 "git hash-object [-t <type>] [-w] [--path=<file>|--no-filters] [--stdin] [--] "
 "<file>..."
@@ -5741,31 +5907,36 @@ msgstr ""
 "git hash-object [-t <kiểu>] [-w] [--path=<tập-tin>|--no-filters] [--stdin] "
 "[--] <tập-tin>..."
 
-#: builtin/hash-object.c:61
+#: builtin/hash-object.c:83
 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/tag.c:609
+#: builtin/hash-object.c:94 builtin/tag.c:610
 msgid "type"
 msgstr "kiểu"
 
-#: builtin/hash-object.c:72
+#: builtin/hash-object.c:94
 msgid "object type"
 msgstr "kiểu đối tượng"
 
-#: builtin/hash-object.c:73
+#: builtin/hash-object.c:95
 msgid "write the object into the object database"
 msgstr "ghi đối tượng vào dữ liệu đối tượng"
 
-#: builtin/hash-object.c:74
+#: builtin/hash-object.c:97
 msgid "read the object from stdin"
 msgstr "đọc đối tượng từ đầu vào tiêu chuẩn stdin"
 
-#: builtin/hash-object.c:76
+#: builtin/hash-object.c:99
 msgid "store file as is without filters"
 msgstr "lưu các tập tin mà nó không có các bộ lọc"
 
-#: builtin/hash-object.c:77
+#: builtin/hash-object.c:100
+msgid ""
+"just hash any random garbage to create corrupt objects for debugging Git"
+msgstr "chỉ cần băm rác ngẫu nhiên để tạo một đối tượng hỏng để mà gỡ lỗi Git"
+
+#: builtin/hash-object.c:101
 msgid "process file as it were from this path"
 msgstr "xử lý tập tin như là nó đang ở thư mục này"
 
@@ -5798,25 +5969,25 @@ msgstr "git help [--all] [--guides] [--man|--web|--info] [lệnh]"
 msgid "unrecognized help format '%s'"
 msgstr "không nhận ra định dạng trợ giúp “%s”"
 
-#: builtin/help.c:92
+#: builtin/help.c:91
 msgid "Failed to start emacsclient."
-msgstr "Lỗi khởi chạy emacsclient."
+msgstr "Gặp lỗi khi khởi chạy emacsclient."
 
-#: builtin/help.c:105
+#: builtin/help.c:104
 msgid "Failed to parse emacsclient version."
 msgstr "Gặp lỗi khi phân tích phiên bản emacsclient."
 
-#: builtin/help.c:113
+#: builtin/help.c:112
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "phiên bản của emacsclient “%d” quá cũ (< 22)."
 
-#: builtin/help.c:131 builtin/help.c:159 builtin/help.c:168 builtin/help.c:176
+#: builtin/help.c:130 builtin/help.c:158 builtin/help.c:167 builtin/help.c:175
 #, c-format
 msgid "failed to exec '%s': %s"
 msgstr "gặp lỗi khi thực thi “%s”: %s"
 
-#: builtin/help.c:216
+#: builtin/help.c:215
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -5825,7 +5996,7 @@ msgstr ""
 "“%s”: đường dẫn không hỗ trợ bộ trình chiếu man.\n"
 "Hãy cân nhắc đến việc sử dụng “man.<tool>.cmd” để thay thế."
 
-#: builtin/help.c:228
+#: builtin/help.c:227
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -5834,23 +6005,27 @@ msgstr ""
 "“%s”: cmd (lệnh) hỗ trợ bộ trình chiếu man.\n"
 "Hãy cân nhắc đến việc sử dụng “man.<tool>.path” để thay thế."
 
-#: builtin/help.c:353
+#: builtin/help.c:352
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "“%s”: không rõ chương trình xem man."
 
-#: builtin/help.c:370
+#: builtin/help.c:369
 msgid "no man viewer handled the request"
 msgstr "không có trình xem trợ giúp dạng manpage tiếp hợp với yêu cầu"
 
-#: builtin/help.c:378
+#: builtin/help.c:377
 msgid "no info viewer handled the request"
 msgstr "không có trình xem trợ giúp dạng info tiếp hợp với yêu cầu"
 
-#: builtin/help.c:424
+#: builtin/help.c:423
 msgid "Defining attributes per path"
 msgstr "Định nghĩa các thuộc tính cho mỗi đường dẫn"
 
+#: builtin/help.c:424
+msgid "Everyday Git With 20 Commands Or So"
+msgstr "Mỗi ngày học 20 lệnh Git hay hơn"
+
 #: builtin/help.c:425
 msgid "A Git glossary"
 msgstr "Thuật ngữ chuyên môn Git"
@@ -5889,291 +6064,291 @@ msgstr "cách dùng: %s%s"
 msgid "`git %s' is aliased to `%s'"
 msgstr "“git %s” được đặt bí danh thành “%s”"
 
-#: builtin/index-pack.c:145
+#: builtin/index-pack.c:150
 #, c-format
 msgid "unable to open %s"
 msgstr "không thể mở %s"
 
-#: builtin/index-pack.c:191
+#: builtin/index-pack.c:200
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "kiểu đối tượng không khớp tại %s"
 
-#: builtin/index-pack.c:211
+#: builtin/index-pack.c:220
 #, c-format
 msgid "did not receive expected object %s"
 msgstr "Không thể lấy về đối tượng cần %s"
 
-#: builtin/index-pack.c:214
+#: builtin/index-pack.c:223
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr "đối tượng %s: cần kiểu %s nhưng lại nhận được %s"
 
-#: builtin/index-pack.c:256
+#: builtin/index-pack.c:265
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] "không thể điền vào %d byte"
 msgstr[1] "không thể điền vào %d byte"
 
-#: builtin/index-pack.c:266
+#: builtin/index-pack.c:275
 msgid "early EOF"
-msgstr "gặp kết thúc EOF quá sớm"
+msgstr "gặp kết thúc tập tin EOF quá sớm"
 
-#: builtin/index-pack.c:267
+#: builtin/index-pack.c:276
 msgid "read error on input"
 msgstr "lỗi đọc ở đầu vào"
 
-#: builtin/index-pack.c:279
+#: builtin/index-pack.c:288
 msgid "used more bytes than were available"
 msgstr "sử dụng nhiều hơn số lượng byte mà nó sẵn có"
 
-#: builtin/index-pack.c:286
+#: builtin/index-pack.c:295
 msgid "pack too large for current definition of off_t"
-msgstr "pack quá lớn so với định nghĩa hiện tại của kiểu off_t"
+msgstr "gói quá lớn so với định nghĩa hiện tại của kiểu off_t"
 
-#: builtin/index-pack.c:302
+#: builtin/index-pack.c:311
 #, c-format
 msgid "unable to create '%s'"
 msgstr "không thể tạo “%s”"
 
-#: builtin/index-pack.c:307
+#: builtin/index-pack.c:316
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "không thể mở packfile “%s”"
 
-#: builtin/index-pack.c:321
+#: builtin/index-pack.c:330
 msgid "pack signature mismatch"
-msgstr "chữ ký cho pack không khớp"
+msgstr "chữ ký cho gói không khớp"
 
-#: builtin/index-pack.c:323
+#: builtin/index-pack.c:332
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
-msgstr "không hỗ trợ phiên bản pack %<PRIu32>"
+msgstr "không hỗ trợ phiên bản gói %<PRIu32>"
 
-#: builtin/index-pack.c:341
+#: builtin/index-pack.c:350
 #, c-format
 msgid "pack has bad object at offset %lu: %s"
-msgstr "pack có đối tượng sai khoảng bù (offset) %lu: %s"
+msgstr "gói có đối tượng sai khoảng bù (offset) %lu: %s"
 
-#: builtin/index-pack.c:462
+#: builtin/index-pack.c:471
 #, c-format
 msgid "inflate returned %d"
 msgstr "xả nén trả về %d"
 
-#: builtin/index-pack.c:511
+#: builtin/index-pack.c:520
 msgid "offset value overflow for delta base object"
 msgstr "tràn giá trị khoảng bù cho đối tượng delta cơ sở"
 
-#: builtin/index-pack.c:519
+#: builtin/index-pack.c:528
 msgid "delta base offset is out of bound"
 msgstr "khoảng bù cơ sở cho delta nằm ngoài phạm vi"
 
-#: builtin/index-pack.c:527
+#: builtin/index-pack.c:536
 #, c-format
 msgid "unknown object type %d"
 msgstr "không hiểu kiểu đối tượng %d"
 
-#: builtin/index-pack.c:558
+#: builtin/index-pack.c:567
 msgid "cannot pread pack file"
-msgstr "không thể chạy hàm pread cho tập tin pack"
+msgstr "không thể chạy hàm pread cho tập tin gói"
 
-#: builtin/index-pack.c:560
+#: builtin/index-pack.c:569
 #, c-format
 msgid "premature end of pack file, %lu byte missing"
 msgid_plural "premature end of pack file, %lu bytes missing"
-msgstr[0] "tập tin pack bị kết thúc sớm, thiếu %lu byte"
-msgstr[1] "tập tin pack bị kết thúc sớm, thiếu %lu byte"
+msgstr[0] "tập tin gói bị kết thúc sớm, thiếu %lu byte"
+msgstr[1] "tập tin gói bị kết thúc sớm, thiếu %lu byte"
 
-#: builtin/index-pack.c:586
+#: builtin/index-pack.c:595
 msgid "serious inflate inconsistency"
 msgstr "sự mâu thuẫn xả nén nghiêm trọng"
 
-#: builtin/index-pack.c:677 builtin/index-pack.c:683 builtin/index-pack.c:706
-#: builtin/index-pack.c:740 builtin/index-pack.c:749
+#: builtin/index-pack.c:686 builtin/index-pack.c:692 builtin/index-pack.c:715
+#: builtin/index-pack.c:749 builtin/index-pack.c:758
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "SỰ VA CHẠM SHA1 ĐàXẢY RA VỚI %s!"
 
-#: builtin/index-pack.c:680 builtin/pack-objects.c:162
-#: builtin/pack-objects.c:254
+#: builtin/index-pack.c:689 builtin/pack-objects.c:164
+#: builtin/pack-objects.c:256
 #, c-format
 msgid "unable to read %s"
 msgstr "không thể đọc %s"
 
-#: builtin/index-pack.c:746
+#: builtin/index-pack.c:755
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "không thể đọc đối tượng đã tồn tại %s"
 
-#: builtin/index-pack.c:760
+#: builtin/index-pack.c:769
 #, c-format
 msgid "invalid blob object %s"
 msgstr "đối tượng blob không hợp lệ %s"
 
-#: builtin/index-pack.c:774
+#: builtin/index-pack.c:783
 #, c-format
 msgid "invalid %s"
 msgstr "%s không hợp lệ"
 
-#: builtin/index-pack.c:777
+#: builtin/index-pack.c:787
 msgid "Error in object"
 msgstr "Lỗi trong đối tượng"
 
-#: builtin/index-pack.c:779
+#: builtin/index-pack.c:789
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "Không phải tất cả các đối tượng con của %s là có thể với tới được"
 
-#: builtin/index-pack.c:851 builtin/index-pack.c:881
+#: builtin/index-pack.c:861 builtin/index-pack.c:890
 msgid "failed to apply delta"
 msgstr "gặp lỗi khi áp dụng delta"
 
-#: builtin/index-pack.c:1022
+#: builtin/index-pack.c:1055
 msgid "Receiving objects"
 msgstr "Đang nhận về các đối tượng"
 
-#: builtin/index-pack.c:1022
+#: builtin/index-pack.c:1055
 msgid "Indexing objects"
 msgstr "Các đối tượng bảng mục lục"
 
-#: builtin/index-pack.c:1048
+#: builtin/index-pack.c:1081
 msgid "pack is corrupted (SHA1 mismatch)"
-msgstr "pack bị sai hỏng (SHA1 không khớp)"
+msgstr "gói bị sai hỏng (SHA1 không khớp)"
 
-#: builtin/index-pack.c:1053
+#: builtin/index-pack.c:1086
 msgid "cannot fstat packfile"
 msgstr "không thể lấy thông tin thống kê packfile"
 
-#: builtin/index-pack.c:1056
+#: builtin/index-pack.c:1089
 msgid "pack has junk at the end"
 msgstr "pack có phần thừa ở cuối"
 
-#: builtin/index-pack.c:1067
+#: builtin/index-pack.c:1100
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "lộn xộn hơn cả điên rồ khi chạy hàm parse_pack_objects()"
 
-#: builtin/index-pack.c:1090
+#: builtin/index-pack.c:1123
 msgid "Resolving deltas"
 msgstr "Đang phân giải các delta"
 
-#: builtin/index-pack.c:1100
+#: builtin/index-pack.c:1133
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "không thể tạo tuyến: %s"
 
-#: builtin/index-pack.c:1142
+#: builtin/index-pack.c:1175
 msgid "confusion beyond insanity"
 msgstr "lộn xộn hơn cả điên rồ"
 
-#: builtin/index-pack.c:1150
+#: builtin/index-pack.c:1181
 #, c-format
 msgid "completed with %d local objects"
 msgstr "đầy đủ với %d đối tượng nội bộ"
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1191
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "Tổng kiểm tra tail không như mong đợi cho %s (đĩa hỏng?)"
 
-#: builtin/index-pack.c:1164
+#: builtin/index-pack.c:1195
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
-msgstr[0] "pack có %d delta chưa được giải quyết"
-msgstr[1] "pack có %d delta chưa được giải quyết"
+msgstr[0] "gói có %d delta chưa được giải quyết"
+msgstr[1] "gói có %d delta chưa được giải quyết"
 
-#: builtin/index-pack.c:1189
+#: builtin/index-pack.c:1220
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "không thể xả nén đối tượng nối thêm (%d)"
 
-#: builtin/index-pack.c:1268
+#: builtin/index-pack.c:1299
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "đối tượng nội bộ %s bị hỏng"
 
-#: builtin/index-pack.c:1292
+#: builtin/index-pack.c:1323
 msgid "error while closing pack file"
-msgstr "gặp lỗi trong khi đóng tập tin gói (pack)"
+msgstr "gặp lỗi trong khi đóng tập tin gói"
 
-#: builtin/index-pack.c:1305
+#: builtin/index-pack.c:1336
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "không thể ghi tập tin giữ lại “%s”"
 
-#: builtin/index-pack.c:1313
+#: builtin/index-pack.c:1344
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr "không thể đóng tập tin giữ lại đã được ghi “%s”"
 
-#: builtin/index-pack.c:1326
+#: builtin/index-pack.c:1357
 msgid "cannot store pack file"
-msgstr "không thể lưu tập tin pack"
+msgstr "không thể lưu tập tin gói"
 
-#: builtin/index-pack.c:1337
+#: builtin/index-pack.c:1368
 msgid "cannot store index file"
 msgstr "không thể lưu trữ tập tin ghi mục lục"
 
-#: builtin/index-pack.c:1370
+#: builtin/index-pack.c:1401
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "sai pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1376
+#: builtin/index-pack.c:1407
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "số tuyến chỉ ra không hợp lệ (%d)"
 
-#: builtin/index-pack.c:1380 builtin/index-pack.c:1559
+#: builtin/index-pack.c:1411 builtin/index-pack.c:1590
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "không hỗ trợ đa tuyến, bỏ qua %s"
 
-#: builtin/index-pack.c:1438
+#: builtin/index-pack.c:1469
 #, c-format
 msgid "Cannot open existing pack file '%s'"
-msgstr "Không thể mở tập tin pack đã sẵn có “%s”"
+msgstr "Không thể mở tập tin gói đã sẵn có “%s”"
 
-#: builtin/index-pack.c:1440
+#: builtin/index-pack.c:1471
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
-msgstr "Không thể mở tập tin “pack idx” cho “%s”"
+msgstr "Không thể mở tập tin idx của gói cho “%s”"
 
-#: builtin/index-pack.c:1487
+#: builtin/index-pack.c:1518
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "không delta: %d đối tượng"
 msgstr[1] "không delta: %d đối tượng"
 
-#: builtin/index-pack.c:1494
+#: builtin/index-pack.c:1525
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "chiều dài xích = %d: %lu đối tượng"
 msgstr[1] "chiều dài xích = %d: %lu đối tượng"
 
-#: builtin/index-pack.c:1523
+#: builtin/index-pack.c:1554
 msgid "Cannot come back to cwd"
 msgstr "Không thể quay lại cwd"
 
-#: builtin/index-pack.c:1571 builtin/index-pack.c:1574
-#: builtin/index-pack.c:1586 builtin/index-pack.c:1590
+#: builtin/index-pack.c:1602 builtin/index-pack.c:1605
+#: builtin/index-pack.c:1617 builtin/index-pack.c:1621
 #, c-format
 msgid "bad %s"
 msgstr "%s sai"
 
-#: builtin/index-pack.c:1604
+#: builtin/index-pack.c:1635
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin không thể được dùng mà không có --stdin"
 
-#: builtin/index-pack.c:1608 builtin/index-pack.c:1617
+#: builtin/index-pack.c:1639 builtin/index-pack.c:1648
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
-msgstr "tên tập tin packfile “%s” không được kết thúc bằng đuôi “.pack”"
+msgstr "tên tập tin tập tin gói “%s” không được kết thúc bằng đuôi “.pack”"
 
-#: builtin/index-pack.c:1625
+#: builtin/index-pack.c:1656
 msgid "--verify with no packfile name given"
 msgstr "dùng tùy chọn --verify mà không đưa ra tên packfile"
 
@@ -6282,11 +6457,7 @@ msgstr "Khởi tạo trống rỗng"
 msgid " shared"
 msgstr " đã chia sẻ"
 
-#: 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:465
+#: builtin/init-db.c:467
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [directory]"
@@ -6294,29 +6465,29 @@ msgstr ""
 "git init [-q | --quiet] [--bare] [--template=<thư-mục-tạm>] [--shared[=<các-"
 "quyền>]] [thư-mục]"
 
-#: builtin/init-db.c:488
+#: builtin/init-db.c:490
 msgid "permissions"
 msgstr "các quyền"
 
-#: builtin/init-db.c:489
+#: builtin/init-db.c:491
 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:491 builtin/prune-packed.c:79 builtin/repack.c:172
+#: builtin/init-db.c:493 builtin/prune-packed.c:57 builtin/repack.c:172
 msgid "be quiet"
 msgstr "im lặng"
 
-#: builtin/init-db.c:523 builtin/init-db.c:528
+#: builtin/init-db.c:525 builtin/init-db.c:530
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "không thể mkdir (tạo thư mục): %s"
 
-#: builtin/init-db.c:532
+#: builtin/init-db.c:534
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "không thể chdir (chuyển đổi thư mục) sang %s"
 
-#: builtin/init-db.c:554
+#: builtin/init-db.c:555
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
@@ -6325,15 +6496,31 @@ 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: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:585
+#: builtin/init-db.c:583
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "không thể truy cập cây (tree) làm việc “%s”"
 
+#: builtin/interpret-trailers.c:15
+msgid ""
+"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] "
+"[<file>...]"
+msgstr ""
+"git interpret-trailers [--trim-empty] [(--trailer <thẻ>[(=|:)<giá-trị>])...] "
+"[<tập-tin>...]"
+
+#: builtin/interpret-trailers.c:25
+msgid "trim empty trailers"
+msgstr "bộ dò vết cắt bỏ phần trống rỗng"
+
+#: builtin/interpret-trailers.c:26
+msgid "trailer"
+msgstr "bộ dò vết"
+
+#: builtin/interpret-trailers.c:27
+msgid "trailer(s) to add"
+msgstr "bộ dò vết cần thêm"
+
 #: builtin/log.c:41
 msgid "git log [<options>] [<revision range>] [[--] <path>...]\n"
 msgstr "git log [<các-tùy-chọn>] [<vùng xem xét>] [[--] <đường-dẫn>...]\n"
@@ -6342,6 +6529,11 @@ msgstr "git log [<các-tùy-chọn>] [<vùng xem xét>] [[--] <đường-dẫn>.
 msgid "   or: git show [options] <object>..."
 msgstr "  hay: git show [các-tùy-chọn] <đối-tượng>..."
 
+#: builtin/log.c:81
+#, c-format
+msgid "invalid --decorate option: %s"
+msgstr "tùy chọn--decorate không hợp lệ: %s"
+
 #: builtin/log.c:127
 msgid "suppress diff output"
 msgstr "chặn mọi kết xuất từ diff"
@@ -6358,240 +6550,249 @@ msgstr "Sử dụng tập tin ánh xạ thư"
 msgid "decorate options"
 msgstr "các tùy chọn trang trí"
 
+#: builtin/log.c:133
+msgid "Process line range n,m in file, counting from 1"
+msgstr "Xử lý chỉ dòng vùng n,m trong tập tin, tính từ 1"
+
 #: builtin/log.c:229
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "Kết xuất cuối cùng: %d %s\n"
 
-#: builtin/log.c:470 builtin/log.c:562
+#: builtin/log.c:458
+#, c-format
+msgid "git show %s: bad file"
+msgstr "git show %s: sai tập tin"
+
+#: builtin/log.c:472 builtin/log.c:564
 #, c-format
 msgid "Could not read object %s"
 msgstr "Không thể đọc đối tượng %s"
 
-#: builtin/log.c:586
+#: builtin/log.c:588
 #, c-format
 msgid "Unknown type: %d"
 msgstr "Không nhận ra kiểu: %d"
 
-#: builtin/log.c:687
+#: builtin/log.c:689
 msgid "format.headers without value"
 msgstr "format.headers không có giá trị cụ thể"
 
-#: builtin/log.c:771
+#: builtin/log.c:773
 msgid "name of output directory is too long"
 msgstr "tên của thư mục kết xuất quá dài"
 
-#: builtin/log.c:787
+#: builtin/log.c:789
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "Không thể mở tập tin miếng vá: %s"
 
-#: builtin/log.c:801
+#: builtin/log.c:803
 msgid "Need exactly one range."
 msgstr "Cần chính xác một vùng."
 
-#: builtin/log.c:809
+#: builtin/log.c:811
 msgid "Not a range."
 msgstr "Không phải là một vùng."
 
-#: builtin/log.c:916
+#: builtin/log.c:919
 msgid "Cover letter needs email format"
 msgstr "“Cover letter” cần cho định dạng thư"
 
-#: builtin/log.c:995
+#: builtin/log.c:998
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to điên rồ: %s"
 
-#: builtin/log.c:1023
+#: builtin/log.c:1026
 msgid "git format-patch [options] [<since> | <revision range>]"
 msgstr "git format-patch [các-tùy-chọn] [<kể-từ> | <vùng-xem-xét>]"
 
-#: builtin/log.c:1068
+#: builtin/log.c:1071
 msgid "Two output directories?"
 msgstr "Hai thư mục kết xuất?"
 
-#: builtin/log.c:1183
+#: builtin/log.c:1186
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "dùng [PATCH n/m] ngay cả với miếng vá đơn"
 
-#: builtin/log.c:1186
+#: builtin/log.c:1189
 msgid "use [PATCH] even with multiple patches"
 msgstr "dùng [VÁ] ngay cả với các miếng vá phức tạp"
 
-#: builtin/log.c:1190
+#: builtin/log.c:1193
 msgid "print patches to standard out"
 msgstr "hiển thị miếng vá ra đầu ra chuẩn"
 
-#: builtin/log.c:1192
+#: builtin/log.c:1195
 msgid "generate a cover letter"
 msgstr "tạo bì thư"
 
-#: builtin/log.c:1194
+#: builtin/log.c:1197
 msgid "use simple number sequence for output file names"
 msgstr "sử dụng chỗi dãy số dạng đơn giản cho tên tập-tin xuất ra"
 
-#: builtin/log.c:1195
+#: builtin/log.c:1198
 msgid "sfx"
 msgstr "sfx"
 
-#: builtin/log.c:1196
+#: builtin/log.c:1199
 msgid "use <sfx> instead of '.patch'"
 msgstr "sử dụng <sfx> thay cho “.patch”"
 
-#: builtin/log.c:1198
+#: builtin/log.c:1201
 msgid "start numbering patches at <n> instead of 1"
 msgstr "bắt đầu đánh số miếng vá từ <n> thay vì 1"
 
-#: builtin/log.c:1200
+#: builtin/log.c:1203
 msgid "mark the series as Nth re-roll"
 msgstr "đánh dấu chuỗi nối tiếp dạng thứ-N re-roll"
 
-#: builtin/log.c:1202
+#: builtin/log.c:1205
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "Dùng [<tiền-tố>] thay cho [VÁ]"
 
-#: builtin/log.c:1205
+#: builtin/log.c:1208
 msgid "store resulting files in <dir>"
 msgstr "lưu các tập tin kết quả trong <t.mục>"
 
-#: builtin/log.c:1208
+#: builtin/log.c:1211
 msgid "don't strip/add [PATCH]"
 msgstr "không strip/add [VÁ]"
 
-#: builtin/log.c:1211
+#: builtin/log.c:1214
 msgid "don't output binary diffs"
 msgstr "không kết xuất diff (những khác biệt) nhị phân"
 
-#: builtin/log.c:1213
+#: builtin/log.c:1216
 msgid "don't include a patch matching a commit upstream"
 msgstr "không bao gồm miếng vá khớp với một lần chuyển giao thượng nguồn"
 
-#: builtin/log.c:1215
+#: builtin/log.c:1218
 msgid "show patch format instead of default (patch + stat)"
 msgstr "hiển thị định dạng miếng vá thay vì mặc định (miếng vá + thống kê)"
 
-#: builtin/log.c:1217
+#: builtin/log.c:1220
 msgid "Messaging"
 msgstr "Lời nhắn"
 
-#: builtin/log.c:1218
+#: builtin/log.c:1221
 msgid "header"
 msgstr "đầu đề thư"
 
-#: builtin/log.c:1219
+#: builtin/log.c:1222
 msgid "add email header"
 msgstr "thêm đầu đề thư"
 
-#: builtin/log.c:1220 builtin/log.c:1222
+#: builtin/log.c:1223 builtin/log.c:1225
 msgid "email"
 msgstr "thư điện tử"
 
-#: builtin/log.c:1220
+#: builtin/log.c:1223
 msgid "add To: header"
 msgstr "thêm To: đầu đề thư"
 
-#: builtin/log.c:1222
+#: builtin/log.c:1225
 msgid "add Cc: header"
 msgstr "thêm Cc: đầu đề thư"
 
-#: builtin/log.c:1224
+#: builtin/log.c:1227
 msgid "ident"
 msgstr "thụt lề"
 
-#: builtin/log.c:1225
+#: builtin/log.c:1228
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr ""
 "đặt “Địa chỉ gửi” thành <thụ lề> (hoặc thụt lề người commit nếu bỏ quên)"
 
-#: builtin/log.c:1227
+#: builtin/log.c:1230
 msgid "message-id"
 msgstr "message-id"
 
-#: builtin/log.c:1228
+#: builtin/log.c:1231
 msgid "make first mail a reply to <message-id>"
 msgstr "dùng thư đầu tiên để trả lời <message-id>"
 
-#: builtin/log.c:1229 builtin/log.c:1232
+#: builtin/log.c:1232 builtin/log.c:1235
 msgid "boundary"
 msgstr "ranh giới"
 
-#: builtin/log.c:1230
+#: builtin/log.c:1233
 msgid "attach the patch"
 msgstr "đính kèm miếng vá"
 
-#: builtin/log.c:1233
+#: builtin/log.c:1236
 msgid "inline the patch"
 msgstr "dùng miếng vá làm nội dung"
 
-#: builtin/log.c:1237
+#: builtin/log.c:1240
 msgid "enable message threading, styles: shallow, deep"
 msgstr "cho phép luồng lời nhắn, kiểu: “shallow”, “deep”"
 
-#: builtin/log.c:1239
+#: builtin/log.c:1242
 msgid "signature"
 msgstr "chữ ký"
 
-#: builtin/log.c:1240
+#: builtin/log.c:1243
 msgid "add a signature"
 msgstr "thêm chữ ký"
 
-#: builtin/log.c:1242
+#: builtin/log.c:1245
 msgid "add a signature from a file"
 msgstr "thêm chữ ký từ một tập tin"
 
-#: builtin/log.c:1243
+#: builtin/log.c:1246
 msgid "don't print the patch filenames"
 msgstr "không hiển thị các tên tập tin của miếng vá"
 
-#: builtin/log.c:1317
+#: builtin/log.c:1320
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "dòng thụt lề không hợp lệ: %s"
 
-#: builtin/log.c:1332
+#: builtin/log.c:1335
 msgid "-n and -k are mutually exclusive."
 msgstr "-n và  -k loại từ lẫn nhau."
 
-#: builtin/log.c:1334
+#: builtin/log.c:1337
 msgid "--subject-prefix and -k are mutually exclusive."
 msgstr "--subject-prefix và -k xung khắc nhau."
 
-#: builtin/log.c:1342
+#: builtin/log.c:1345
 msgid "--name-only does not make sense"
 msgstr "--name-only không hợp lý"
 
-#: builtin/log.c:1344
+#: builtin/log.c:1347
 msgid "--name-status does not make sense"
 msgstr "--name-status không hợp lý"
 
-#: builtin/log.c:1346
+#: builtin/log.c:1349
 msgid "--check does not make sense"
 msgstr "--check không hợp lý"
 
-#: builtin/log.c:1369
+#: builtin/log.c:1372
 msgid "standard output, or directory, which one?"
 msgstr "đầu ra chuẩn, hay thư mục, chọn cái nào?"
 
-#: builtin/log.c:1371
+#: builtin/log.c:1374
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "Không thể tạo thư mục “%s”"
 
-#: builtin/log.c:1468
+#: builtin/log.c:1472
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "không thể đọc tập tin chữ ký “%s”"
 
-#: builtin/log.c:1531
+#: builtin/log.c:1535
 msgid "Failed to create output files"
 msgstr "Gặp lỗi khi tạo các tập tin kết xuất"
 
-#: builtin/log.c:1579
+#: builtin/log.c:1583
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
-msgstr "git cherry [-v] [<thượng-nguồn> [<head> [<giới-hạn>]]]"
+msgstr "git cherry [-v] [<thượng-nguồn> [<đầu> [<giới-hạn>]]]"
 
-#: builtin/log.c:1634
+#: builtin/log.c:1638
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -6599,7 +6800,7 @@ msgstr ""
 "Không tìm thấy nhánh mạng được theo dõi, hãy chỉ định <thượng-nguồn> một "
 "cách thủ công.\n"
 
-#: builtin/log.c:1647 builtin/log.c:1649 builtin/log.c:1661
+#: builtin/log.c:1651 builtin/log.c:1653 builtin/log.c:1665
 #, c-format
 msgid "Unknown commit %s"
 msgstr "Không hiểu lần chuyển giao %s"
@@ -6647,7 +6848,7 @@ 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:477
-msgid "show 'other' directories' name only"
+msgid "show 'other' directories' names only"
 msgstr "chỉ hiển thị tên của các thư mục “khác”"
 
 #: builtin/ls-files.c:480
@@ -6735,99 +6936,99 @@ msgstr "dùng tên đường dẫn đầy đủ"
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr "liệt kê cây mục tin; không chỉ thư mục hiện hành (ngụ ý --full-name)"
 
-#: builtin/merge.c:43
+#: builtin/merge.c:44
 msgid "git merge [options] [<commit>...]"
 msgstr "git merge [các-tùy-chọn] [<commit>...]"
 
-#: builtin/merge.c:44
+#: builtin/merge.c:45
 msgid "git merge [options] <msg> HEAD <commit>"
 msgstr "git merge [các-tùy-chọn] <tin-nhắn> HEAD <commit>"
 
-#: builtin/merge.c:45
+#: builtin/merge.c:46
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:98
+#: builtin/merge.c:99
 msgid "switch `m' requires a value"
 msgstr "switch “m” yêu cầu một giá trị"
 
-#: builtin/merge.c:135
+#: builtin/merge.c:136
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Không tìm thấy chiến lược hòa trộn “%s”.\n"
 
-#: builtin/merge.c:136
+#: builtin/merge.c:137
 #, c-format
 msgid "Available strategies are:"
 msgstr "Các chiến lược sẵn sàng là:"
 
-#: builtin/merge.c:141
+#: builtin/merge.c:142
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Các chiến lược tùy chỉnh sẵn sàng là:"
 
-#: builtin/merge.c:191
+#: builtin/merge.c:192
 msgid "do not show a diffstat at the end of the merge"
 msgstr "không hiển thị thống kê khác biệt tại cuối của lần hòa trộn"
 
-#: builtin/merge.c:194
+#: builtin/merge.c:195
 msgid "show a diffstat at the end of the merge"
 msgstr "hiển thị thống kê khác biệt tại cuối của hòa trộn"
 
-#: builtin/merge.c:195
+#: builtin/merge.c:196
 msgid "(synonym to --stat)"
 msgstr "(đồng nghĩa với --stat)"
 
-#: builtin/merge.c:197
+#: builtin/merge.c:198
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr "thêm (ít nhất <n>) mục từ shortlog cho ghi chú chuyển giao hòa trộn"
 
-#: builtin/merge.c:200
+#: builtin/merge.c:201
 msgid "create a single commit instead of doing a merge"
 msgstr "tạo một lần chuyển giao đưon thay vì thực hiện việc hòa trộn"
 
-#: builtin/merge.c:202
+#: builtin/merge.c:203
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "thực hiện chuyển giao nếu hòa trộn thành công (mặc định)"
 
-#: builtin/merge.c:204
+#: builtin/merge.c:205
 msgid "edit message before committing"
 msgstr "sửa chú thích trước khi chuyển giao"
 
-#: builtin/merge.c:205
+#: builtin/merge.c:206
 msgid "allow fast-forward (default)"
 msgstr "cho phép fast-forward (mặc định)"
 
-#: builtin/merge.c:207
+#: builtin/merge.c:208
 msgid "abort if fast-forward is not possible"
 msgstr "bỏ qua nếu fast-forward không thể được"
 
-#: builtin/merge.c:211
+#: builtin/merge.c:212
 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:742 builtin/revert.c:89
+#: builtin/merge.c:213 builtin/notes.c:741 builtin/revert.c:89
 msgid "strategy"
 msgstr "chiến lược"
 
-#: builtin/merge.c:213
+#: builtin/merge.c:214
 msgid "merge strategy to use"
 msgstr "chiến lược hòa trộn sẽ dùng"
 
-#: builtin/merge.c:214
+#: builtin/merge.c:215
 msgid "option=value"
 msgstr "tùy_chọn=giá_trị"
 
-#: builtin/merge.c:215
+#: builtin/merge.c:216
 msgid "option for selected merge strategy"
 msgstr "tùy chọn cho chiến lược hòa trộn đã chọn"
 
-#: builtin/merge.c:217
+#: builtin/merge.c:218
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr ""
 "hòa trộn ghi chú của lần chuyển giao (dành cho hòa trộn non-fast-forward)"
 
-#: builtin/merge.c:221
+#: builtin/merge.c:222
 msgid "abort the current in-progress merge"
 msgstr "bãi bỏ quá trình hòa trộn hiện tại đang thực hiện"
 
@@ -6884,33 +7085,33 @@ msgstr "Chuỗi branch.%s.mergeoptions sai: %s"
 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:677
 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:691
 #, 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:705
+#: builtin/merge.c:704
 #, c-format
 msgid "unable to write %s"
 msgstr "không thể ghi %s"
 
-#: builtin/merge.c:794
+#: builtin/merge.c:793
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Không thể đọc từ “%s”"
 
-#: builtin/merge.c:803
+#: builtin/merge.c:802
 #, 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:809
+#: builtin/merge.c:808
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -6928,166 +7129,166 @@ msgstr ""
 "rỗng\n"
 "sẽ hủy bỏ lần chuyển giao.\n"
 
-#: builtin/merge.c:833
+#: builtin/merge.c:832
 msgid "Empty commit message."
 msgstr "Chú thích của lần commit (chuyển giao) bị trống rỗng."
 
-#: builtin/merge.c:845
+#: builtin/merge.c:844
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Thần kỳ.\n"
 
-#: builtin/merge.c:908
+#: builtin/merge.c:907
 #, 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:924
+#: builtin/merge.c:923
 #, 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:965
+#: builtin/merge.c:964
 msgid "No current branch."
 msgstr "không phải nhánh hiện hành"
 
-#: builtin/merge.c:967
+#: builtin/merge.c:966
 msgid "No remote for the current branch."
 msgstr "Không có máy chủ cho nhánh hiện hành."
 
-#: builtin/merge.c:969
+#: builtin/merge.c:968
 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:974
+#: builtin/merge.c:973
 #, 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:1130
+#: builtin/merge.c:1129
 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:1146 git-pull.sh:31
+#: builtin/merge.c:1145
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
-"Please, commit your changes before you can merge."
+"Please, commit your changes before you merge."
 msgstr ""
-"Bạn chưa kết thúc việc hòa trộng (MERGE_HEAD vẫn tồn tại).\n"
+"Bạn chưa kết thúc việc hòa trộn (MERGE_HEAD vẫn tồn tại).\n"
 "Hãy chuyển giao các thay đổi trước khi bạn có thể hòa trộn."
 
-#: builtin/merge.c:1149 git-pull.sh:34
+#: builtin/merge.c:1148 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:1153
+#: builtin/merge.c:1152
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
-"Please, commit your changes before you can merge."
+"Please, commit your changes before you merge."
 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:1156
+#: builtin/merge.c:1155
 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:1165
+#: builtin/merge.c:1164
 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:1174
+#: builtin/merge.c:1173
 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:1206
+#: builtin/merge.c:1205
 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:1209
+#: builtin/merge.c:1208
 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:1211
+#: builtin/merge.c:1210
 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:1216
+#: builtin/merge.c:1215
 #, 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:1267
+#: builtin/merge.c:1266
 #, 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:1270
+#: builtin/merge.c:1269
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "Lần chuyển giao %s có một chữ ký GPG sai, được cho là bởi %s."
 
-#: builtin/merge.c:1273
+#: builtin/merge.c:1272
 #, 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:1276
+#: builtin/merge.c:1275
 #, 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:1357
+#: builtin/merge.c:1356
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Đang cập nhật %s..%s\n"
 
-#: builtin/merge.c:1396
+#: builtin/merge.c:1395
 #, 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:1403
+#: builtin/merge.c:1402
 #, c-format
 msgid "Nope.\n"
 msgstr "Không.\n"
 
-#: builtin/merge.c:1435
+#: builtin/merge.c:1434
 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:1458 builtin/merge.c:1537
+#: builtin/merge.c:1457 builtin/merge.c:1536
 #, 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:1462
+#: builtin/merge.c:1461
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Đang thử chiến lược hòa trộn %s...\n"
 
-#: builtin/merge.c:1528
+#: builtin/merge.c:1527
 #, 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:1530
+#: builtin/merge.c:1529
 #, 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:1539
+#: builtin/merge.c:1538
 #, 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:1551
+#: builtin/merge.c:1550
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -7194,87 +7395,91 @@ msgstr "cho phép tạo nhiều hơn một cây"
 msgid "git mv [options] <source>... <destination>"
 msgstr "git mv [các-tùy-chọn] <nguồn>... <đích>"
 
+#: builtin/mv.c:69
+#, c-format
+msgid "Directory %s is in index and no submodule?"
+msgstr "Thư mục “%s” có ở trong chỉ mục mà không có mô-đun con?"
+
 #: builtin/mv.c:71
+msgid "Please stage your changes to .gitmodules or stash them to proceed"
+msgstr ""
+"Hãy đưa các thay đổi của bạn vào .gitmodules hay tạm cất chúng đi để xử lý"
+
+#: builtin/mv.c:89
+#, c-format
+msgid "%.*s is in index"
+msgstr "%.*s trong bảng mục lục"
+
+#: builtin/mv.c:111
 msgid "force move/rename even if target exists"
 msgstr "ép buộc di chuyển hay đổi tên thậm chí cả khi đích đã tồn tại"
 
-#: builtin/mv.c:72
+#: builtin/mv.c:112
 msgid "skip move/rename errors"
 msgstr "bỏ qua các lỗi liên quan đến di chuyển, đổi tên"
 
-#: builtin/mv.c:122
+#: builtin/mv.c:151
+#, c-format
+msgid "destination '%s' is not a directory"
+msgstr "có đích “%s” nhưng đây không phải là một thư mục"
+
+#: builtin/mv.c:162
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "Đang kiểm tra việc đổi tên của “%s” thành “%s”\n"
 
-#: builtin/mv.c:126
+#: builtin/mv.c:166
 msgid "bad source"
 msgstr "nguồn sai"
 
-#: builtin/mv.c:129
+#: builtin/mv.c:169
 msgid "can not move directory into itself"
 msgstr "không thể di chuyển một thư mục vào trong chính nó được"
 
-#: builtin/mv.c:132
+#: builtin/mv.c:172
 msgid "cannot move directory over file"
 msgstr "không di chuyển được thư mục thông qua tập tin"
 
-#: builtin/mv.c:138
-#, c-format
-msgid "Huh? Directory %s is in index and no submodule?"
-msgstr "Hả? Thư mục “%s” trong chỉ mục và không mô-đun con?"
-
-#: builtin/mv.c:140 builtin/rm.c:318
-msgid "Please, stage your changes to .gitmodules or stash them to proceed"
-msgstr ""
-"Vui lòng đưa các thay đổi của bạn vào “.gitmodules” hay tạm cất chúng đi để "
-"xử lý"
-
-#: builtin/mv.c:156
-#, c-format
-msgid "Huh? %.*s is in index?"
-msgstr "Hả? %.*s trong bảng mục lục à?"
-
-#: builtin/mv.c:169
+#: builtin/mv.c:181
 msgid "source directory is empty"
 msgstr "thư mục nguồn là trống rỗng"
 
-#: builtin/mv.c:205
+#: builtin/mv.c:206
 msgid "not under version control"
 msgstr "không nằm dưới sự quản lý mã nguồn"
 
-#: builtin/mv.c:208
+#: builtin/mv.c:209
 msgid "destination exists"
 msgstr "đích đã tồn tại sẵn rồi"
 
-#: builtin/mv.c:216
+#: builtin/mv.c:217
 #, c-format
 msgid "overwriting '%s'"
 msgstr "đang ghi đè lên “%s”"
 
-#: builtin/mv.c:219
+#: builtin/mv.c:220
 msgid "Cannot overwrite"
 msgstr "Không thể ghi đè"
 
-#: builtin/mv.c:222
+#: builtin/mv.c:223
 msgid "multiple sources for the same target"
 msgstr "Nhiều nguồn cho cùng một đích"
 
-#: builtin/mv.c:224
+#: builtin/mv.c:225
 msgid "destination directory does not exist"
 msgstr "thư mục đích không tồn tại"
 
-#: builtin/mv.c:244
+#: builtin/mv.c:232
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s, nguồn=%s, đích=%s"
 
-#: builtin/mv.c:254
+#: builtin/mv.c:253
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Đổi tên %s thành %s\n"
 
-#: builtin/mv.c:257 builtin/remote.c:725 builtin/repack.c:358
+#: builtin/mv.c:256 builtin/remote.c:726 builtin/repack.c:358
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "gặp lỗi khi đổi tên “%s”"
@@ -7301,7 +7506,7 @@ msgstr "chỉ dùng các thẻ để đặt tên cho các lần chuyển giao"
 
 #: builtin/name-rev.c:312
 msgid "only use refs matching <pattern>"
-msgstr "chỉ sử dụng các tham chiếu (refs) khớp với <mẫu>"
+msgstr "chỉ sử dụng các tham chiếu khớp với <mẫu>"
 
 #: builtin/name-rev.c:314
 msgid "list all commits reachable from all refs"
@@ -7430,119 +7635,119 @@ msgstr "git notes prune [<các-tùy-chọn>]"
 msgid "git notes get-ref"
 msgstr "git notes get-ref"
 
-#: builtin/notes.c:137
+#: builtin/notes.c:136
 #, c-format
 msgid "unable to start 'show' for object '%s'"
 msgstr "không thể khởi chạy “show” cho đối tượng “%s”"
 
-#: builtin/notes.c:141
+#: builtin/notes.c:140
 msgid "could not read 'show' output"
 msgstr "không thể đọc kết xuất “show”"
 
-#: builtin/notes.c:149
+#: builtin/notes.c:148
 #, c-format
 msgid "failed to finish 'show' for object '%s'"
 msgstr "gặp lỗi khi hoàn thành “show” cho đối tượng “%s”"
 
-#: builtin/notes.c:167 builtin/tag.c:477
+#: builtin/notes.c:166 builtin/tag.c:477
 #, c-format
 msgid "could not create file '%s'"
 msgstr "không thể tạo tập tin “%s”"
 
-#: builtin/notes.c:186
+#: builtin/notes.c:185
 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:848
+#: builtin/notes.c:206 builtin/notes.c:847
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr "Đang gỡ bỏ ghi chú (note) cho đối tượng %s\n"
 
-#: builtin/notes.c:212
+#: builtin/notes.c:211
 msgid "unable to write note object"
 msgstr "không thể ghi đối tượng ghi chú (note)"
 
-#: builtin/notes.c:214
+#: builtin/notes.c:213
 #, c-format
-msgid "The note contents has been left in %s"
+msgid "The note contents have been left in %s"
 msgstr "Nội dung ghi chú còn lại %s"
 
-#: builtin/notes.c:248 builtin/tag.c:692
+#: builtin/notes.c:247 builtin/tag.c:693
 #, c-format
 msgid "cannot read '%s'"
 msgstr "không thể đọc “%s”"
 
-#: builtin/notes.c:250 builtin/tag.c:695
+#: builtin/notes.c:249 builtin/tag.c:696
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "không thể mở hay đọc “%s”"
 
-#: 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:708
+#: builtin/notes.c:268 builtin/notes.c:319 builtin/notes.c:321
+#: builtin/notes.c:381 builtin/notes.c:435 builtin/notes.c:518
+#: builtin/notes.c:523 builtin/notes.c:598 builtin/notes.c:640
+#: builtin/notes.c:842 builtin/tag.c:709
 #, 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ệ."
+msgstr "Gặp lỗi khi phân giải “%s” như là một tham chiếu hợp lệ."
 
-#: builtin/notes.c:272
+#: builtin/notes.c:271
 #, c-format
 msgid "Failed to read object '%s'."
 msgstr "Gặp lỗi khi đọc đối tượng “%s”."
 
-#: builtin/notes.c:276
+#: builtin/notes.c:275
 #, 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
+#: builtin/notes.c:315
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Dòng đầu vào dị hình: “%s”."
 
-#: builtin/notes.c:331
+#: builtin/notes.c:330
 #, 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: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
+#: builtin/notes.c:374 builtin/notes.c:428 builtin/notes.c:501
+#: builtin/notes.c:513 builtin/notes.c:586 builtin/notes.c:633
+#: builtin/notes.c:907
 msgid "too many parameters"
 msgstr "quá nhiều đối số"
 
-#: builtin/notes.c:388 builtin/notes.c:647
+#: builtin/notes.c:387 builtin/notes.c:646
 #, 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:410 builtin/notes.c:567
+#: builtin/notes.c:409 builtin/notes.c:566
 msgid "note contents as a string"
 msgstr "nội dung ghi chú (note) nằm trong một chuỗi"
 
-#: builtin/notes.c:413 builtin/notes.c:570
+#: builtin/notes.c:412 builtin/notes.c:569
 msgid "note contents in a file"
 msgstr "nội dung ghi chú (note) nằm trong một tập tin"
 
-#: builtin/notes.c:415 builtin/notes.c:418 builtin/notes.c:572
-#: builtin/notes.c:575 builtin/tag.c:627
+#: builtin/notes.c:414 builtin/notes.c:417 builtin/notes.c:571
+#: builtin/notes.c:574 builtin/tag.c:628
 msgid "object"
 msgstr "đối tượng"
 
-#: builtin/notes.c:416 builtin/notes.c:573
+#: builtin/notes.c:415 builtin/notes.c:572
 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:419 builtin/notes.c:576
+#: builtin/notes.c:418 builtin/notes.c:575
 msgid "reuse specified note object"
 msgstr "dùng lại đối tượng ghi chú (note) đã chỉ ra"
 
-#: builtin/notes.c:421 builtin/notes.c:489
+#: builtin/notes.c:420 builtin/notes.c:488
 msgid "replace existing notes"
 msgstr "thay thế ghi chú trước"
 
-#: builtin/notes.c:455
+#: builtin/notes.c:454
 #, c-format
 msgid ""
 "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -7551,24 +7756,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:460 builtin/notes.c:537
+#: builtin/notes.c:459 builtin/notes.c:536
 #, 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:490
+#: builtin/notes.c:489
 msgid "read objects from stdin"
 msgstr "đọc các đối tượng từ đầu vào tiêu chuẩn"
 
-#: builtin/notes.c:492
+#: builtin/notes.c:491
 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:510
+#: builtin/notes.c:509
 msgid "too few parameters"
 msgstr "quá ít đối số"
 
-#: builtin/notes.c:531
+#: builtin/notes.c:530
 #, c-format
 msgid ""
 "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -7577,12 +7782,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:543
+#: builtin/notes.c:542
 #, 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:592
+#: builtin/notes.c:591
 #, c-format
 msgid ""
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -7591,15 +7796,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:739
+#: builtin/notes.c:738
 msgid "General options"
 msgstr "Tùy chọn chung"
 
-#: builtin/notes.c:741
+#: builtin/notes.c:740
 msgid "Merge options"
 msgstr "Tùy chọn về hòa trộn"
 
-#: builtin/notes.c:743
+#: builtin/notes.c:742
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
@@ -7607,229 +7812,233 @@ 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:745
+#: builtin/notes.c:744
 msgid "Committing unmerged notes"
 msgstr "Chuyển giao các note chưa được hòa trộn"
 
-#: builtin/notes.c:747
+#: builtin/notes.c:746
 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:749
+#: builtin/notes.c:748
 msgid "Aborting notes merge resolution"
 msgstr "Hủy bỏ phân giải ghi chú (note) hòa trộn"
 
-#: builtin/notes.c:751
+#: builtin/notes.c:750
 msgid "abort notes merge"
 msgstr "bỏ qua hòa trộn các ghi chú (note)"
 
-#: builtin/notes.c:846
+#: builtin/notes.c:845
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "Đối tượng %s không có ghi chú (note)\n"
 
-#: builtin/notes.c:858
+#: builtin/notes.c:857
 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:861
+#: builtin/notes.c:860
 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:942
+#: builtin/notes.c:941
 msgid "notes-ref"
 msgstr "notes-ref"
 
-#: builtin/notes.c:943
+#: builtin/notes.c:942
 msgid "use notes from <notes_ref>"
 msgstr "dùng “notes” từ <notes_ref>"
 
-#: builtin/notes.c:978 builtin/remote.c:1616
+#: builtin/notes.c:977 builtin/remote.c:1624
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "Không hiểu câu lệnh con: %s"
 
-#: builtin/pack-objects.c:25
+#: builtin/pack-objects.c:28
 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:26
+#: builtin/pack-objects.c:29
 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:175 builtin/pack-objects.c:178
+#: builtin/pack-objects.c:177 builtin/pack-objects.c:180
 #, c-format
 msgid "deflate error (%d)"
 msgstr "lỗi giải nén (%d)"
 
-#: builtin/pack-objects.c:771
+#: builtin/pack-objects.c:773
 msgid "Writing objects"
 msgstr "Đang ghi lại các đối tượng"
 
-#: builtin/pack-objects.c:1012
+#: builtin/pack-objects.c:1015
 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
+#: builtin/pack-objects.c:2175
 msgid "Compressing objects"
 msgstr "Đang nén các đối tượng"
 
-#: builtin/pack-objects.c:2526
+#: builtin/pack-objects.c:2572
 #, 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:2530
+#: builtin/pack-objects.c:2576
 #, c-format
 msgid "bad index version '%s'"
 msgstr "phiên bản mục lục sai “%s”"
 
-#: builtin/pack-objects.c:2553
+#: builtin/pack-objects.c:2599
 #, 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:2557
+#: builtin/pack-objects.c:2603
 #, 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:2576
+#: builtin/pack-objects.c:2622
 msgid "do not show progress meter"
 msgstr "không hiển thị bộ đo tiến trình"
 
-#: builtin/pack-objects.c:2578
+#: builtin/pack-objects.c:2624
 msgid "show progress meter"
 msgstr "hiển thị bộ đo tiến trình"
 
-#: builtin/pack-objects.c:2580
+#: builtin/pack-objects.c:2626
 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:2583
+#: builtin/pack-objects.c:2629
 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:2584
+#: builtin/pack-objects.c:2630
 msgid "version[,offset]"
 msgstr "phiên bản[,offset]"
 
-#: builtin/pack-objects.c:2585
+#: builtin/pack-objects.c:2631
 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:2588
+#: builtin/pack-objects.c:2634
 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:2590
+#: builtin/pack-objects.c:2636
 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:2592
+#: builtin/pack-objects.c:2638
 msgid "ignore packed objects"
 msgstr "bỏ qua các đối tượng đóng gói"
 
-#: builtin/pack-objects.c:2594
+#: builtin/pack-objects.c:2640
 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:2596
+#: builtin/pack-objects.c:2642
 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:2598
+#: builtin/pack-objects.c:2644
 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:2600
+#: builtin/pack-objects.c:2646
 msgid "reuse existing deltas"
 msgstr "dùng lại các delta sẵn có"
 
-#: builtin/pack-objects.c:2602
+#: builtin/pack-objects.c:2648
 msgid "reuse existing objects"
 msgstr "dùng lại các đối tượng sẵn có"
 
-#: builtin/pack-objects.c:2604
+#: builtin/pack-objects.c:2650
 msgid "use OFS_DELTA objects"
 msgstr "dùng các đối tượng OFS_DELTA"
 
-#: builtin/pack-objects.c:2606
+#: builtin/pack-objects.c:2652
 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:2608
+#: builtin/pack-objects.c:2654
 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"
+msgstr "không thể tạo kết xuất gói trống rỗng"
 
-#: builtin/pack-objects.c:2610
+#: builtin/pack-objects.c:2656
 msgid "read revision arguments from standard input"
 msgstr " đọc tham số “revision” từ thiết bị nhập chuẩn"
 
-#: builtin/pack-objects.c:2612
+#: builtin/pack-objects.c:2658
 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:2615
+#: builtin/pack-objects.c:2661
 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:2618
+#: builtin/pack-objects.c:2664
 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:2621
+#: builtin/pack-objects.c:2667
+msgid "include objects referred to by the index"
+msgstr "bao gồm các đối tượng được tham chiếu bởi mục lục"
+
+#: builtin/pack-objects.c:2670
 msgid "output pack to stdout"
 msgstr "xuất gói ra đầu ra tiêu chuẩn"
 
-#: builtin/pack-objects.c:2623
+#: builtin/pack-objects.c:2672
 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:2625
+#: builtin/pack-objects.c:2674
 msgid "keep unreachable objects"
 msgstr "giữ lại các đối tượng không thể đọc được"
 
-#: builtin/pack-objects.c:2626 parse-options.h:140
+#: builtin/pack-objects.c:2675 parse-options.h:140
 msgid "time"
 msgstr "thời-gian"
 
-#: builtin/pack-objects.c:2627
+#: builtin/pack-objects.c:2676
 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:2630
+#: builtin/pack-objects.c:2679
 msgid "create thin packs"
 msgstr "tạo gói nhẹ"
 
-#: builtin/pack-objects.c:2632
+#: builtin/pack-objects.c:2681
 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:2634
+#: builtin/pack-objects.c:2683
 msgid "pack compression level"
 msgstr "mức nén gói"
 
-#: builtin/pack-objects.c:2636
+#: builtin/pack-objects.c:2685
 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:2638
+#: builtin/pack-objects.c:2687
 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:2640
+#: builtin/pack-objects.c:2689
 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:2719
+#: builtin/pack-objects.c:2778
 msgid "Counting objects"
 msgstr "Đang đếm các đối tượng"
 
@@ -7843,13 +8052,13 @@ msgstr "đóng gói mọi thứ"
 
 #: builtin/pack-refs.c:15
 msgid "prune loose refs (default)"
-msgstr "prune (cắt cụt) những tham chiếu (refs) bị mất (mặc định)"
+msgstr "prune (cắt cụt) những tham chiếu bị mất (mặc định)"
 
 #: builtin/prune-packed.c:7
 msgid "git prune-packed [-n|--dry-run] [-q|--quiet]"
 msgstr "git prune-packed [-n|--dry-run] [-q|--quiet]"
 
-#: builtin/prune-packed.c:49
+#: builtin/prune-packed.c:40
 msgid "Removing duplicate objects"
 msgstr "Đang gỡ các đối tượng trùng lặp"
 
@@ -7857,15 +8066,15 @@ msgstr "Đang gỡ các đối tượng trùng lặp"
 msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--expire <thời-gian>] [--] [<head>...]"
 
-#: builtin/prune.c:142
+#: builtin/prune.c:106
 msgid "do not remove, show only"
 msgstr "không gỡ bỏ, chỉ hiển thị"
 
-#: builtin/prune.c:143
+#: builtin/prune.c:107
 msgid "report pruned objects"
 msgstr "báo cáo các đối tượng đã prune"
 
-#: builtin/prune.c:146
+#: builtin/prune.c:110
 msgid "expire objects older than <time>"
 msgstr "các đối tượng hết hạn cũ hơn khoảng <thời gian>"
 
@@ -7879,7 +8088,7 @@ msgstr "dùng tốc ký tag không có <thẻ>"
 
 #: 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"
+msgstr "--delete chỉ chấp nhận các tên tham chiếu dạng thường"
 
 #: builtin/push.c:139
 msgid ""
@@ -8079,7 +8288,7 @@ msgstr "Đang đẩy lên %s\n"
 #: builtin/push.c:364
 #, c-format
 msgid "failed to push some refs to '%s'"
-msgstr "gặp lỗi khi đẩy tới một số tham chiếu (ref) đến “%s”"
+msgstr "gặp lỗi khi đẩy tới một số tham chiếu đến “%s”"
 
 #: builtin/push.c:394
 #, c-format
@@ -8127,79 +8336,79 @@ msgstr "--mirror không thể được tổ hợp cùng với đặc tả đư
 msgid "--all and --mirror are incompatible"
 msgstr "--all và --mirror xung khắc nhau"
 
-#: builtin/push.c:482
+#: builtin/push.c:493
 msgid "repository"
 msgstr "kho"
 
-#: builtin/push.c:483
+#: builtin/push.c:494
 msgid "push all refs"
 msgstr "đẩy tất cả các tham chiếu"
 
-#: builtin/push.c:484
+#: builtin/push.c:495
 msgid "mirror all refs"
 msgstr "mirror tất cả các tham chiếu"
 
-#: builtin/push.c:486
+#: builtin/push.c:497
 msgid "delete refs"
 msgstr "xóa các tham chiếu"
 
-#: builtin/push.c:487
+#: builtin/push.c:498
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "đẩy các thẻ (không dùng cùng với --all hay --mirror)"
 
-#: builtin/push.c:490
+#: builtin/push.c:501
 msgid "force updates"
 msgstr "ép buộc cập nhật"
 
-#: builtin/push.c:492
+#: builtin/push.c:503
 msgid "refname>:<expect"
 msgstr "tên-tham-chiếu>:<cần"
 
-#: builtin/push.c:493
+#: builtin/push.c:504
 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:495
-msgid "check"
-msgstr "kiểm tra"
-
-#: builtin/push.c:496
+#: builtin/push.c:507
 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:498
+#: builtin/push.c:509
 msgid "use thin pack"
 msgstr "tạo gói nhẹ"
 
-#: builtin/push.c:499 builtin/push.c:500
+#: builtin/push.c:510 builtin/push.c:511
 msgid "receive pack program"
 msgstr "chương trình nhận gói"
 
-#: builtin/push.c:501
+#: builtin/push.c:512
 msgid "set upstream for git pull/status"
 msgstr "đặt thượng nguồn cho git pull/status"
 
-#: builtin/push.c:504
+#: builtin/push.c:515
 msgid "prune locally removed refs"
-msgstr "xén tỉa những tham chiếu (refs) bị gỡ bỏ"
+msgstr "xén tỉa những tham chiếu bị gỡ bỏ"
 
-#: builtin/push.c:506
+#: builtin/push.c:517
 msgid "bypass pre-push hook"
 msgstr "vòng qua móc tiền-đẩy (pre-push)"
 
-#: builtin/push.c:507
+#: builtin/push.c:518
 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:517
+#: builtin/push.c:520
+msgid "GPG sign the push"
+msgstr "ký lần đẩy dùng GPG"
+
+#: builtin/push.c:529
 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:519
+#: builtin/push.c:531
 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"
+msgstr "--delete không hợp lý nếu không có bất kỳ tham chiếu nào"
 
-#: builtin/read-tree.c:36
+#: builtin/read-tree.c:37
 msgid ""
 "git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] "
 "[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
@@ -8210,68 +8419,68 @@ msgstr ""
 "[--index-output=<tập-tin>] (--empty | <tree-ish1> [<tree-ish2> [<tree-"
 "ish3>]])"
 
-#: builtin/read-tree.c:109
+#: builtin/read-tree.c:110
 msgid "write resulting index to <file>"
 msgstr "ghi mục lục kết quả vào <tập-tin>"
 
-#: builtin/read-tree.c:112
+#: builtin/read-tree.c:113
 msgid "only empty the index"
 msgstr "chỉ với bảng mục lục trống rỗng"
 
-#: builtin/read-tree.c:114
+#: builtin/read-tree.c:115
 msgid "Merging"
 msgstr "Hòa trộn"
 
-#: builtin/read-tree.c:116
+#: builtin/read-tree.c:117
 msgid "perform a merge in addition to a read"
 msgstr "thực hiện một hòa trộn thêm vào việc đọc"
 
-#: builtin/read-tree.c:118
+#: builtin/read-tree.c:119
 msgid "3-way merge if no file level merging required"
 msgstr ""
 "hòa trộn kiểu “3-way” nếu không có tập tin mức hòa trộn nào được yêu cầu "
 
-#: builtin/read-tree.c:120
+#: builtin/read-tree.c:121
 msgid "3-way merge in presence of adds and removes"
 msgstr "hòa trộn 3-way trong sự hiện diện của “adds” và “removes”"
 
-#: builtin/read-tree.c:122
+#: builtin/read-tree.c:123
 msgid "same as -m, but discard unmerged entries"
 msgstr "giống với -m, nhưng bỏ qua các mục chưa được hòa trộn"
 
-#: builtin/read-tree.c:123
+#: builtin/read-tree.c:124
 msgid "<subdirectory>/"
 msgstr "<thư-mục-con>/"
 
-#: builtin/read-tree.c:124
+#: builtin/read-tree.c:125
 msgid "read the tree into the index under <subdirectory>/"
 msgstr "đọc cây vào trong bảng mục lục dưới <thư_mục_con>/"
 
-#: builtin/read-tree.c:127
+#: builtin/read-tree.c:128
 msgid "update working tree with merge result"
 msgstr "cập nhật cây làm việc với kết quả hòa trộn"
 
-#: builtin/read-tree.c:129
+#: builtin/read-tree.c:130
 msgid "gitignore"
 msgstr "gitignore"
 
-#: builtin/read-tree.c:130
+#: builtin/read-tree.c:131
 msgid "allow explicitly ignored files to be overwritten"
 msgstr "cho phép các tập tin rõ ràng bị lờ đi được ghi đè"
 
-#: builtin/read-tree.c:133
+#: builtin/read-tree.c:134
 msgid "don't check the working tree after merging"
 msgstr "không kiểm tra cây làm việc sau hòa trộn"
 
-#: builtin/read-tree.c:134
+#: builtin/read-tree.c:135
 msgid "don't update the index or the work tree"
 msgstr "không cập nhật bảng mục lục hay cây làm việc"
 
-#: builtin/read-tree.c:136
+#: builtin/read-tree.c:137
 msgid "skip applying sparse checkout filter"
 msgstr "bỏ qua áp dụng bộ lọc lấy ra (checkout) thưa thớt"
 
-#: builtin/read-tree.c:138
+#: builtin/read-tree.c:139
 msgid "debug unpack-trees"
 msgstr "gỡ lỗi “unpack-trees”"
 
@@ -8421,12 +8630,12 @@ msgstr "đang chỉ định một nhánh master không hợp lý với tùy ch
 msgid "specifying branches to track makes sense only with fetch mirrors"
 msgstr "chỉ định những nhánh để theo dõi chỉ hợp lý với các “fetch mirror”"
 
-#: builtin/remote.c:185 builtin/remote.c:640
+#: builtin/remote.c:185 builtin/remote.c:641
 #, c-format
 msgid "remote %s already exists."
 msgstr "máy chủ %s đã tồn tại rồi."
 
-#: builtin/remote.c:189 builtin/remote.c:644
+#: builtin/remote.c:189 builtin/remote.c:645
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "“%s” không phải tên máy chủ hợp lệ"
@@ -8436,11 +8645,6 @@ msgstr "“%s” không phải tên máy chủ hợp lệ"
 msgid "Could not setup master '%s'"
 msgstr "Không thể cài đặt nhánh master “%s”"
 
-#: builtin/remote.c:288
-#, c-format
-msgid "more than one %s"
-msgstr "nhiều hơn một %s"
-
 #: builtin/remote.c:333
 #, c-format
 msgid "Could not get fetch map for refspec %s"
@@ -8454,27 +8658,27 @@ msgstr "(khớp)"
 msgid "(delete)"
 msgstr "(xóa)"
 
-#: builtin/remote.c:589 builtin/remote.c:595 builtin/remote.c:601
+#: builtin/remote.c:590 builtin/remote.c:596 builtin/remote.c:602
 #, c-format
 msgid "Could not append '%s' to '%s'"
 msgstr "Không thể nối thêm “%s” vào “%s”"
 
-#: builtin/remote.c:633 builtin/remote.c:794 builtin/remote.c:894
+#: builtin/remote.c:634 builtin/remote.c:798 builtin/remote.c:898
 #, c-format
 msgid "No such remote: %s"
 msgstr "Không có máy chủ nào như thế: %s"
 
-#: builtin/remote.c:650
+#: builtin/remote.c:651
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr "Không thể đổi tên phần của cấu hình từ “%s” thành “%s”"
 
-#: builtin/remote.c:656 builtin/remote.c:846
+#: builtin/remote.c:657 builtin/remote.c:850
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "Không thể gỡ bỏ phần cấu hình “%s”"
 
-#: builtin/remote.c:671
+#: builtin/remote.c:672
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -8485,32 +8689,32 @@ msgstr ""
 "\t%s\n"
 "\tXin hãy cập nhật phần cấu hình một cách thủ công nếu thấy cần thiết."
 
-#: builtin/remote.c:677
+#: builtin/remote.c:678
 #, c-format
 msgid "Could not append '%s'"
 msgstr "Không thể nối thêm “%s”"
 
-#: builtin/remote.c:688
+#: builtin/remote.c:689
 #, c-format
 msgid "Could not set '%s'"
 msgstr "Không thể đặt “%s”"
 
-#: builtin/remote.c:710
+#: builtin/remote.c:711
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "gặp lỗi khi xoá “%s”"
 
-#: builtin/remote.c:744
+#: builtin/remote.c:745
 #, c-format
 msgid "creating '%s' failed"
 msgstr "gặp lỗi khi tạo “%s”"
 
-#: builtin/remote.c:765
+#: builtin/remote.c:769
 #, c-format
 msgid "Could not remove branch %s"
 msgstr "Không thể gỡ bỏ nhánh “%s”"
 
-#: builtin/remote.c:832
+#: builtin/remote.c:836
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -8525,262 +8729,262 @@ msgstr[1] ""
 "đi;\n"
 "để xóa đi, sử dụng:"
 
-#: builtin/remote.c:947
+#: builtin/remote.c:951
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " mới (lần lấy về tiếp theo sẽ lưu trong remotes/%s)"
 
-#: builtin/remote.c:950
+#: builtin/remote.c:954
 msgid " tracked"
 msgstr " được theo dõi"
 
-#: builtin/remote.c:952
+#: builtin/remote.c:956
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " cũ rích (dùng “git remote prune” để gỡ bỏ)"
 
-#: builtin/remote.c:954
+#: builtin/remote.c:958
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:995
+#: builtin/remote.c:999
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr "branch.%s.merge không hợp lệ; không thể cải tổ về phía > 1 nhánh"
 
-#: builtin/remote.c:1002
+#: builtin/remote.c:1006
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "thực hiện rebase trên máy chủ %s"
 
-#: builtin/remote.c:1005
+#: builtin/remote.c:1009
 #, c-format
 msgid " merges with remote %s"
 msgstr " hòa trộn với máy chủ %s"
 
-#: builtin/remote.c:1006
+#: builtin/remote.c:1010
 msgid "    and with remote"
 msgstr "    và với máy chủ"
 
-#: builtin/remote.c:1008
+#: builtin/remote.c:1012
 #, c-format
 msgid "merges with remote %s"
 msgstr "hòa trộn với máy chủ %s"
 
-#: builtin/remote.c:1009
+#: builtin/remote.c:1013
 msgid "   and with remote"
 msgstr "   và với máy chủ"
 
-#: builtin/remote.c:1055
+#: builtin/remote.c:1059
 msgid "create"
 msgstr "tạo"
 
-#: builtin/remote.c:1058
+#: builtin/remote.c:1062
 msgid "delete"
 msgstr "xoá"
 
-#: builtin/remote.c:1062
+#: builtin/remote.c:1066
 msgid "up to date"
 msgstr "đã cập nhật"
 
-#: builtin/remote.c:1065
+#: builtin/remote.c:1069
 msgid "fast-forwardable"
 msgstr "có-thể-fast-forward"
 
-#: builtin/remote.c:1068
+#: builtin/remote.c:1072
 msgid "local out of date"
 msgstr "dữ liệu nội bộ đã cũ"
 
-#: builtin/remote.c:1075
+#: builtin/remote.c:1079
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s ép buộc thành %-*s (%s)"
 
-#: builtin/remote.c:1078
+#: builtin/remote.c:1082
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s đẩy lên thành %-*s (%s)"
 
-#: builtin/remote.c:1082
+#: builtin/remote.c:1086
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s ép buộc thành %s"
 
-#: builtin/remote.c:1085
+#: builtin/remote.c:1089
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s đẩy lên thành %s"
 
-#: builtin/remote.c:1153
+#: builtin/remote.c:1157
 msgid "do not query remotes"
 msgstr "không truy vấn các máy chủ"
 
-#: builtin/remote.c:1180
+#: builtin/remote.c:1184
 #, c-format
 msgid "* remote %s"
 msgstr "* máy chủ %s"
 
-#: builtin/remote.c:1181
+#: builtin/remote.c:1185
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  URL để lấy về: %s"
 
-#: builtin/remote.c:1182 builtin/remote.c:1329
+#: builtin/remote.c:1186 builtin/remote.c:1333
 msgid "(no URL)"
 msgstr "(không có URL)"
 
-#: builtin/remote.c:1191 builtin/remote.c:1193
+#: builtin/remote.c:1195 builtin/remote.c:1197
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  URL để đẩy lên: %s"
 
-#: builtin/remote.c:1195 builtin/remote.c:1197 builtin/remote.c:1199
+#: builtin/remote.c:1199 builtin/remote.c:1201 builtin/remote.c:1203
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  Nhánh HEAD: %s"
 
-#: builtin/remote.c:1201
+#: builtin/remote.c:1205
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr "  nhánh HEAD (HEAD máy chủ chưa rõ ràng, có lẽ là một trong số sau):\n"
 
-#: builtin/remote.c:1213
+#: builtin/remote.c:1217
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 msgstr[0] "  Nhánh trên máy chủ:%s"
 msgstr[1] "  Những nhánh trên máy chủ:%s"
 
-#: builtin/remote.c:1216 builtin/remote.c:1243
+#: builtin/remote.c:1220 builtin/remote.c:1247
 msgid " (status not queried)"
 msgstr " (trạng thái không được yêu cầu)"
 
-#: builtin/remote.c:1225
+#: builtin/remote.c:1229
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] "  Nhánh nội bộ đã được cấu hình cho lệnh “git pull”:"
 msgstr[1] "  Những nhánh nội bộ đã được cấu hình cho lệnh “git pull”:"
 
-#: builtin/remote.c:1233
+#: builtin/remote.c:1237
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  refs nội bộ sẽ được phản chiếu bởi lệnh “git push”"
 
-#: builtin/remote.c:1240
+#: builtin/remote.c:1244
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
 msgstr[0] "  Tham chiếu nội bộ được cấu hình cho lệnh “git push”%s:"
 msgstr[1] "  Những tham chiếu nội bộ được cấu hình cho lệnh “git push”%s:"
 
-#: builtin/remote.c:1261
+#: builtin/remote.c:1265
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "đặt refs/remotes/<tên>/HEAD cho phù hợp với máy chủ"
 
-#: builtin/remote.c:1263
+#: builtin/remote.c:1267
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "xóa refs/remotes/<tên>/HEAD"
 
-#: builtin/remote.c:1278
+#: builtin/remote.c:1282
 msgid "Cannot determine remote HEAD"
 msgstr "Không thể xác định được HEAD máy chủ"
 
-#: builtin/remote.c:1280
+#: builtin/remote.c:1284
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr "Nhiều nhánh HEAD máy chủ. Hãy chọn rõ ràng một:"
 
-#: builtin/remote.c:1290
+#: builtin/remote.c:1294
 #, c-format
 msgid "Could not delete %s"
 msgstr "Không thể xóa bỏ %s"
 
-#: builtin/remote.c:1298
+#: builtin/remote.c:1302
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "Không phải là tham chiếu hợp lệ: %s"
 
-#: builtin/remote.c:1300
+#: builtin/remote.c:1304
 #, c-format
 msgid "Could not setup %s"
 msgstr "Không thể cài đặt %s"
 
-#: builtin/remote.c:1318
+#: builtin/remote.c:1322
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s sẽ trở thành không đầu (không được quản lý)!"
 
-#: builtin/remote.c:1319
+#: builtin/remote.c:1323
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s đã trở thành không đầu (không được quản lý)!"
 
-#: builtin/remote.c:1325
+#: builtin/remote.c:1329
 #, c-format
 msgid "Pruning %s"
 msgstr "Đang xén bớt %s"
 
-#: builtin/remote.c:1326
+#: builtin/remote.c:1330
 #, c-format
 msgid "URL: %s"
 msgstr "URL: %s"
 
-#: builtin/remote.c:1349
+#: builtin/remote.c:1357
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [nên xén bớt] %s"
 
-#: builtin/remote.c:1352
+#: builtin/remote.c:1360
 #, c-format
 msgid " * [pruned] %s"
 msgstr " *[đã bị xén] %s"
 
-#: builtin/remote.c:1397
+#: builtin/remote.c:1405
 msgid "prune remotes after fetching"
 msgstr "cắt máy chủ sau khi lấy về"
 
-#: builtin/remote.c:1463 builtin/remote.c:1537
+#: builtin/remote.c:1471 builtin/remote.c:1545
 #, c-format
 msgid "No such remote '%s'"
 msgstr "Không có máy chủ nào có tên “%s”"
 
-#: builtin/remote.c:1483
+#: builtin/remote.c:1491
 msgid "add branch"
 msgstr "thêm nhánh"
 
-#: builtin/remote.c:1490
+#: builtin/remote.c:1498
 msgid "no remote specified"
 msgstr "chưa chỉ ra máy chủ nào"
 
-#: builtin/remote.c:1512
+#: builtin/remote.c:1520
 msgid "manipulate push URLs"
 msgstr "đẩy các “URL” bằng tay"
 
-#: builtin/remote.c:1514
+#: builtin/remote.c:1522
 msgid "add URL"
 msgstr "thêm URL"
 
-#: builtin/remote.c:1516
+#: builtin/remote.c:1524
 msgid "delete URLs"
 msgstr "xóa URLs"
 
-#: builtin/remote.c:1523
+#: builtin/remote.c:1531
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete không hợp lý"
 
-#: builtin/remote.c:1563
+#: builtin/remote.c:1571
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "Kiểu mẫu URL cũ không hợp lệ: %s"
 
-#: builtin/remote.c:1571
+#: builtin/remote.c:1579
 #, c-format
 msgid "No such URL found: %s"
 msgstr "Không tìm thấy URL như vậy: %s"
 
-#: builtin/remote.c:1573
+#: builtin/remote.c:1581
 msgid "Will not delete all non-push URLs"
 msgstr "Sẽ không xóa những địa chỉ URL không-push"
 
-#: builtin/remote.c:1587
+#: builtin/remote.c:1595
 msgid "be verbose; must be placed before a subcommand"
 msgstr "chi tiết; phải được đặt trước một lệnh-con"
 
@@ -8877,22 +9081,22 @@ msgstr "git replace -d <đối tượng>..."
 msgid "git replace [--format=<format>] [-l [<pattern>]]"
 msgstr "git replace [--format=<định_dạng>] [-l [<mẫu>]]"
 
-#: builtin/replace.c:322 builtin/replace.c:360 builtin/replace.c:388
+#: builtin/replace.c:325 builtin/replace.c:363 builtin/replace.c:391
 #, c-format
 msgid "Not a valid object name: '%s'"
 msgstr "Không phải là tên đối tượng hợp lệ: “%s”"
 
-#: builtin/replace.c:352
+#: builtin/replace.c:355
 #, c-format
 msgid "bad mergetag in commit '%s'"
 msgstr "thẻ hòa trộn sai trong lần chuyển giao “%s”"
 
-#: builtin/replace.c:354
+#: builtin/replace.c:357
 #, c-format
 msgid "malformed mergetag in commit '%s'"
 msgstr "thẻ hòa trộn không đúng dạng ở lần chuyển giao “%s”"
 
-#: builtin/replace.c:365
+#: builtin/replace.c:368
 #, c-format
 msgid ""
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
@@ -8901,45 +9105,45 @@ msgstr ""
 "lần chuyển giao gốc “%s” có chứa thẻ hòa trộn “%s” cái mà bị loại bỏ; dùng "
 "tùy chọn --edit thay cho --graft"
 
-#: builtin/replace.c:398
+#: builtin/replace.c:401
 #, c-format
 msgid "the original commit '%s' has a gpg signature."
 msgstr "lần chuyển giao gốc “%s” có chữ ký GPG."
 
-#: builtin/replace.c:399
+#: builtin/replace.c:402
 msgid "the signature will be removed in the replacement commit!"
 msgstr "chữ ký sẽ được bỏ đi trong lần chuyển giao thay thế!"
 
-#: builtin/replace.c:405
+#: builtin/replace.c:408
 #, c-format
 msgid "could not write replacement commit for: '%s'"
 msgstr "không thể ghi lần chuyển giao thay thế cho: “%s”"
 
-#: builtin/replace.c:429
+#: builtin/replace.c:432
 msgid "list replace refs"
 msgstr "liệt kê các refs thay thế"
 
-#: builtin/replace.c:430
+#: builtin/replace.c:433
 msgid "delete replace refs"
-msgstr "xóa tham chiếu (refs) thay thế"
+msgstr "xóa tham chiếu thay thế"
 
-#: builtin/replace.c:431
+#: builtin/replace.c:434
 msgid "edit existing object"
 msgstr "sửa đối tượng sẵn có"
 
-#: builtin/replace.c:432
+#: builtin/replace.c:435
 msgid "change a commit's parents"
 msgstr "thay đổi cha mẹ của lần chuyển giao"
 
-#: builtin/replace.c:433
+#: builtin/replace.c:436
 msgid "replace the ref if it exists"
-msgstr "thay thế tham chiếu (ref) nếu nó đã sẵn có"
+msgstr "thay thế tham chiếu nếu nó đã sẵn có"
 
-#: builtin/replace.c:434
+#: builtin/replace.c:437
 msgid "do not pretty-print contents for --edit"
 msgstr "đừng in đẹp các nội dung cho --edit"
 
-#: builtin/replace.c:435
+#: builtin/replace.c:438
 msgid "use this format"
 msgstr "dùng định dạng này"
 
@@ -8951,156 +9155,156 @@ msgstr "git rerere [clear | forget path... | status | remaining | diff | gc]"
 msgid "register clean resolutions in index"
 msgstr "sổ ghi dọn sạch các phân giải trong bản mục lục"
 
-#: builtin/reset.c:25
+#: builtin/reset.c:26
 msgid ""
 "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
 msgstr ""
 "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
 
-#: builtin/reset.c:26
+#: builtin/reset.c:27
 msgid "git reset [-q] <tree-ish> [--] <paths>..."
 msgstr "git reset [-q] <tree-ish> [--] <đường-dẫn>..."
 
-#: builtin/reset.c:27
+#: builtin/reset.c:28
 msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
 msgstr "git reset --patch [<tree-ish>] [--] [<các-đường-dẫn>...]"
 
-#: builtin/reset.c:33
+#: builtin/reset.c:34
 msgid "mixed"
 msgstr "pha trộn"
 
-#: builtin/reset.c:33
+#: builtin/reset.c:34
 msgid "soft"
 msgstr "mềm"
 
-#: builtin/reset.c:33
+#: builtin/reset.c:34
 msgid "hard"
 msgstr "cứng"
 
-#: builtin/reset.c:33
+#: builtin/reset.c:34
 msgid "merge"
 msgstr "hòa trộn"
 
-#: builtin/reset.c:33
+#: builtin/reset.c:34
 msgid "keep"
 msgstr "giữ lại"
 
-#: builtin/reset.c:73
+#: builtin/reset.c:74
 msgid "You do not have a valid HEAD."
 msgstr "Bạn không có HEAD nào hợp lệ."
 
-#: builtin/reset.c:75
+#: builtin/reset.c:76
 msgid "Failed to find tree of HEAD."
 msgstr "Gặp lỗi khi tìm cây của HEAD."
 
-#: builtin/reset.c:81
+#: builtin/reset.c:82
 #, c-format
 msgid "Failed to find tree of %s."
 msgstr "Gặp lỗi khi tìm cây của %s."
 
-#: builtin/reset.c:99
+#: builtin/reset.c:100
 #, c-format
 msgid "HEAD is now at %s"
 msgstr "HEAD hiện giờ tại %s"
 
-#: builtin/reset.c:182
+#: builtin/reset.c:183
 #, 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:275
+#: builtin/reset.c:276
 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:277
+#: builtin/reset.c:278
 msgid "reset HEAD and index"
 msgstr "đặt lại (reset) HEAD và bảng mục lục"
 
-#: builtin/reset.c:278
+#: builtin/reset.c:279
 msgid "reset only HEAD"
 msgstr "chỉ đặt lại (reset) HEAD"
 
-#: builtin/reset.c:280 builtin/reset.c:282
+#: builtin/reset.c:281 builtin/reset.c:283
 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:284
+#: builtin/reset.c:285
 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:287
+#: builtin/reset.c:288
 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:304
+#: builtin/reset.c:305
 #, 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:307 builtin/reset.c:315
+#: builtin/reset.c:308 builtin/reset.c:316
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "không thể phân tích đối tượng “%s”."
 
-#: builtin/reset.c:312
+#: builtin/reset.c:313
 #, 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:321
+#: builtin/reset.c:322
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch xung khắc với --{hard,mixed,soft}"
 
-#: builtin/reset.c:330
+#: builtin/reset.c:331
 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:332
+#: builtin/reset.c:333
 #, 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:342
+#: builtin/reset.c:343
 #, 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:346
+#: builtin/reset.c:347
 msgid "-N can only be used with --mixed"
 msgstr "-N chỉ được dùng khi có --mixed"
 
-#: builtin/reset.c:363
+#: builtin/reset.c:364
 msgid "Unstaged changes after reset:"
 msgstr "Những thay đổi được đưa ra khỏi bệ phóng sau khi reset:"
 
-#: builtin/reset.c:369
+#: builtin/reset.c:370
 #, 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:373
+#: builtin/reset.c:374
 msgid "Could not write new index file."
 msgstr "Không thể ghi tập tin lưu bảng mục lục mới."
 
-#: builtin/rev-parse.c:360
+#: builtin/rev-parse.c:361
 msgid "git rev-parse --parseopt [options] -- [<args>...]"
 msgstr "git rev-parse --parseopt [các-tùy-chọn] -- [<th.số>...]"
 
-#: builtin/rev-parse.c:365
+#: builtin/rev-parse.c:366
 msgid "keep the `--` passed as an arg"
 msgstr "giữ lại “--” chuyển sang làm tham số"
 
-#: builtin/rev-parse.c:367
+#: builtin/rev-parse.c:368
 msgid "stop parsing after the first non-option argument"
 msgstr "dừng phân tích sau đối số đầu tiên không có tùy chọn"
 
-#: builtin/rev-parse.c:370
+#: builtin/rev-parse.c:371
 msgid "output in stuck long form"
 msgstr "kết xuất trong định dạng gậy dài"
 
-#: builtin/rev-parse.c:498
+#: builtin/rev-parse.c:499
 msgid ""
 "git rev-parse --parseopt [options] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -9212,7 +9416,7 @@ msgid ""
 "the following submodule (or one of its nested submodules)\n"
 "uses a .git directory:"
 msgid_plural ""
-"the following submodules (or one of its nested submodules)\n"
+"the following submodules (or one of their nested submodules)\n"
 "use a .git directory:"
 msgstr[0] ""
 "mô-đun-con sau đây (hay một trong số mô-đun-con bên trong của nó)\n"
@@ -9292,6 +9496,12 @@ msgstr "cho phép gỡ bỏ đệ qui"
 msgid "exit with a zero status even if nothing matched"
 msgstr "thoát ra với trạng thái khác không thậm chí nếu không có gì khớp"
 
+#: builtin/rm.c:318
+msgid "Please, stage your changes to .gitmodules or stash them to proceed"
+msgstr ""
+"Vui lòng đưa các thay đổi của bạn vào “.gitmodules” hay tạm cất chúng đi để "
+"xử lý"
+
 #: builtin/rm.c:336
 #, c-format
 msgid "not removing '%s' recursively without -r"
@@ -9434,8 +9644,7 @@ msgstr "chỉ hiển thị đầu (có thể tổ hợp cùng với thẻ)"
 #: builtin/show-ref.c:170
 msgid "stricter reference checking, requires exact ref path"
 msgstr ""
-"việc kiểm tra tham chiếu chính xác, đòi hỏi chính xác đường dẫn tham chiếu "
-"(ref)"
+"việc kiểm tra tham chiếu chính xác, đòi hỏi chính xác đường dẫn tham chiếu"
 
 #: builtin/show-ref.c:173 builtin/show-ref.c:175
 msgid "show the HEAD reference, even if it would be filtered out"
@@ -9457,8 +9666,8 @@ msgstr ""
 #: builtin/show-ref.c:185
 msgid "show refs from stdin that aren't in local repository"
 msgstr ""
-"hiển thị các tham chiếu (refs) từ đầu vào tiêu chuẩn (stdin) cái mà không ở "
-"kho nội bộ"
+"hiển thị các tham chiếu từ đầu vào tiêu chuẩn (stdin) cái mà không ở kho nội "
+"bộ"
 
 #: builtin/symbolic-ref.c:7
 msgid "git symbolic-ref [options] name [ref]"
@@ -9470,22 +9679,21 @@ msgstr "git symbolic-ref -d [-q] tên"
 
 #: builtin/symbolic-ref.c:40
 msgid "suppress error message for non-symbolic (detached) refs"
-msgstr ""
-"chặn các thông tin lỗi cho các tham chiếu (refs) “non-symbolic” (bị tách ra)"
+msgstr "chặn các thông tin lỗi cho các tham chiếu “không-mềm” (bị tách ra)"
 
 #: builtin/symbolic-ref.c:41
 msgid "delete symbolic ref"
-msgstr "xóa tham chiếu (ref) tượng trưng"
+msgstr "xóa tham chiếu mềm"
 
 #: builtin/symbolic-ref.c:42
 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:349
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:362
 msgid "reason"
 msgstr "lý do"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:349
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:362
 msgid "reason of the update"
 msgstr "lý do cập nhật"
 
@@ -9545,7 +9753,7 @@ msgid ""
 "Lines starting with '%c' will be ignored.\n"
 msgstr ""
 "\n"
-"Viết các ghi chú cho (thẻ) tag\n"
+"Viết các ghi chú cho thẻ:\n"
 "  %s\n"
 "Những dòng được bắt đầu bằng “%c” sẽ được bỏ qua.\n"
 
@@ -9608,240 +9816,230 @@ msgstr "chuyển đến “points-at” yêu cần một đối tượng"
 msgid "malformed object name '%s'"
 msgstr "tên đối tượng dị hình “%s”"
 
-#: builtin/tag.c:588
+#: builtin/tag.c:589
 msgid "list tag names"
 msgstr "chỉ liệt kê tên các thẻ"
 
-#: builtin/tag.c:590
+#: builtin/tag.c:591
 msgid "print <n> lines of each tag message"
 msgstr "hiển thị <n> dòng cho mỗi ghi chú"
 
-#: builtin/tag.c:592
+#: builtin/tag.c:593
 msgid "delete tags"
 msgstr "xóa thẻ"
 
-#: builtin/tag.c:593
+#: builtin/tag.c:594
 msgid "verify tags"
 msgstr "thẩm tra thẻ"
 
-#: builtin/tag.c:595
+#: builtin/tag.c:596
 msgid "Tag creation options"
 msgstr "Tùy chọn tạo tag"
 
-#: builtin/tag.c:597
+#: builtin/tag.c:598
 msgid "annotated tag, needs a message"
 msgstr "để chú giải cho thẻ, cần một lời ghi chú"
 
-#: builtin/tag.c:599
+#: builtin/tag.c:600
 msgid "tag message"
 msgstr "tin nhắn cho thẻ (tag)"
 
-#: builtin/tag.c:601
+#: builtin/tag.c:602
 msgid "annotated and GPG-signed tag"
 msgstr "thẻ chú giải và ký kiểu GPG"
 
-#: builtin/tag.c:605
+#: builtin/tag.c:606
 msgid "use another key to sign the tag"
 msgstr "dùng kháo khác để ký thẻ"
 
-#: builtin/tag.c:606
+#: builtin/tag.c:607
 msgid "replace the tag if exists"
 msgstr "thay thế nếu tag đó đã có trước"
 
-#: builtin/tag.c:607
+#: builtin/tag.c:608
 msgid "show tag list in columns"
 msgstr "hiển thị danh sách thẻ trong các cột"
 
-#: builtin/tag.c:609
+#: builtin/tag.c:610
 msgid "sort tags"
 msgstr "sắp xếp các thẻ"
 
-#: builtin/tag.c:613
+#: builtin/tag.c:614
 msgid "Tag listing options"
 msgstr "Các tùy chọn liệt kê thẻ"
 
-#: builtin/tag.c:616 builtin/tag.c:622
+#: builtin/tag.c:617 builtin/tag.c:623
 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:628
+#: builtin/tag.c:629
 msgid "print only tags of the object"
 msgstr "chỉ hiển thị các thẻ của đối tượng"
 
-#: builtin/tag.c:654
+#: builtin/tag.c:655
 msgid "--column and -n are incompatible"
 msgstr "--column và -n xung khắc nhau"
 
-#: builtin/tag.c:666
+#: builtin/tag.c:667
 msgid "--sort and -n are incompatible"
 msgstr "--sort và -n xung khắc nhau"
 
-#: builtin/tag.c:673
+#: builtin/tag.c:674
 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:675
+#: builtin/tag.c:676
 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:677
+#: builtin/tag.c:678
 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:685
+#: builtin/tag.c:686
 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:705
+#: builtin/tag.c:706
 msgid "too many params"
 msgstr "quá nhiều đối số"
 
-#: builtin/tag.c:711
+#: builtin/tag.c:712
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "“%s” không phải thẻ hợp lệ."
 
-#: builtin/tag.c:716
+#: builtin/tag.c:717
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "Thẻ “%s” đã tồn tại rồi"
 
-#: builtin/tag.c:734
-#, c-format
-msgid "%s: cannot lock the ref"
-msgstr "%s: không thể khóa ref (tham chiếu)"
-
-#: builtin/tag.c:736
-#, c-format
-msgid "%s: cannot update the ref"
-msgstr "%s: không thể cập nhật ref (tham chiếu)"
-
-#: builtin/tag.c:738
+#: builtin/tag.c:741
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Đã cập nhật thẻ “%s” (trước là %s)\n"
 
-#: builtin/unpack-objects.c:483
+#: builtin/unpack-objects.c:489
 msgid "Unpacking objects"
 msgstr "Đang giải nén các đối tượng"
 
-#: builtin/update-index.c:402
+#: builtin/update-index.c:403
 msgid "git update-index [options] [--] [<file>...]"
 msgstr "git update-index [các-tùy-chọn] [<tập-tin>...]"
 
-#: builtin/update-index.c:755
+#: builtin/update-index.c:756
 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:758
+#: builtin/update-index.c:759
 msgid "refresh: ignore submodules"
 msgstr "refresh: lờ đi mô-đun-con"
 
-#: builtin/update-index.c:761
+#: builtin/update-index.c:762
 msgid "do not ignore new files"
 msgstr "không bỏ qua các tập tin mới tạo"
 
-#: builtin/update-index.c:763
+#: builtin/update-index.c:764
 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:765
+#: builtin/update-index.c:766
 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:767
+#: builtin/update-index.c:768
 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:770
+#: builtin/update-index.c:771
 msgid "refresh stat information"
 msgstr "lấy lại thông tin thống kê"
 
-#: builtin/update-index.c:774
+#: builtin/update-index.c:775
 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:778
+#: builtin/update-index.c:779
 msgid "<mode>,<object>,<path>"
 msgstr "<chế_độ>,<đối_tượng>,<đường_dẫn>"
 
-#: builtin/update-index.c:779
+#: builtin/update-index.c:780
 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:783
+#: builtin/update-index.c:784
 msgid "(+/-)x"
 msgstr "(+/-)x"
 
-#: builtin/update-index.c:784
+#: builtin/update-index.c:785
 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:788
+#: builtin/update-index.c:789
 msgid "mark files as \"not changing\""
 msgstr "Đánh dấu các tập tin là \"không thay đổi\""
 
-#: builtin/update-index.c:791
+#: builtin/update-index.c:792
 msgid "clear assumed-unchanged bit"
 msgstr "xóa bít  assumed-unchanged"
 
-#: builtin/update-index.c:794
+#: builtin/update-index.c:795
 msgid "mark files as \"index-only\""
 msgstr "đánh dấu các tập tin là “chỉ-đọc”"
 
-#: builtin/update-index.c:797
+#: builtin/update-index.c:798
 msgid "clear skip-worktree bit"
 msgstr "xóa bít skip-worktree"
 
-#: builtin/update-index.c:800
+#: builtin/update-index.c:801
 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:802
+#: builtin/update-index.c:803
 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:804
+#: builtin/update-index.c:805
 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:806
+#: builtin/update-index.c:807
 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:810
+#: builtin/update-index.c:811
 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:814
+#: builtin/update-index.c:815
 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:818
+#: builtin/update-index.c:819
 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:822
+#: builtin/update-index.c:823
 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:825
+#: builtin/update-index.c:826
 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:827
+#: builtin/update-index.c:828
 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:831
+#: builtin/update-index.c:832
 msgid "write index in this format"
 msgstr "ghi mục lục ở định dạng này"
 
-#: builtin/update-index.c:833
+#: builtin/update-index.c:834
 msgid "enable or disable split index"
 msgstr "bật/tắt chia cắt bảng mục lục"
 
@@ -9857,19 +10055,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:350
+#: builtin/update-ref.c:363
 msgid "delete the reference"
 msgstr "xóa tham chiếu"
 
-#: builtin/update-ref.c:352
+#: builtin/update-ref.c:365
 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:353
+#: builtin/update-ref.c:366
 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:354
+#: builtin/update-ref.c:367
 msgid "read updates from stdin"
 msgstr "đọc cập nhật từ đầu vào tiêu chuẩn"
 
@@ -9889,15 +10087,15 @@ msgstr "git verify-commit [-v|--verbose] <lần_chuyển_giao>..."
 msgid "print commit contents"
 msgstr "hiển thị nội dung của lần chuyển giao"
 
-#: builtin/verify-pack.c:55
+#: builtin/verify-pack.c:54
 msgid "git verify-pack [-v|--verbose] [-s|--stat-only] <pack>..."
 msgstr "git verify-pack [-v|--verbose] [-s|--stat-only] <gói>..."
 
-#: builtin/verify-pack.c:65
+#: builtin/verify-pack.c:64
 msgid "verbose"
 msgstr "chi tiết"
 
-#: builtin/verify-pack.c:67
+#: builtin/verify-pack.c:66
 msgid "show statistics only"
 msgstr "chỉ hiển thị thống kê"
 
@@ -9925,9 +10123,13 @@ msgstr "ghi đối tượng cây (tree) cho <tiền tố> thư mục con"
 msgid "only useful for debugging"
 msgstr "chỉ hữu ích khi cần gỡ lỗi"
 
+#: credential-cache--daemon.c:267
+msgid "print debugging messages to stderr"
+msgstr "in thông tin gỡ lỗi ra đầu ra lỗi tiêu chuẩn"
+
 #: git.c:17
 msgid ""
-"'git help -a' and 'git help -g' lists available subcommands and some\n"
+"'git help -a' and 'git help -g' list available subcommands and some\n"
 "concept guides. See 'git help <command>' or 'git help <concept>'\n"
 "to read about a specific subcommand or concept."
 msgstr ""
@@ -9935,26 +10137,6 @@ 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:143
-msgid "expiry-date"
-msgstr "ngày hết hạn"
-
-#: parse-options.h:158
-msgid "no-op (backward compatibility)"
-msgstr "no-op (tương thích ngược)"
-
-#: parse-options.h:232
-msgid "be more verbose"
-msgstr "chi tiết hơn nữa"
-
-#: parse-options.h:234
-msgid "be more quiet"
-msgstr "im lặng hơn nữa"
-
-#: parse-options.h:240
-msgid "use <n> digits to display SHA-1s"
-msgstr "sử dụng <n> chữ số để hiển thị SHA-1s"
-
 #: common-cmds.h:8
 msgid "Add file contents to the index"
 msgstr "Thêm nội dung tập tin vào bảng mục lục"
@@ -10043,6 +10225,30 @@ 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"
 
+#: parse-options.h:143
+msgid "expiry-date"
+msgstr "ngày hết hạn"
+
+#: parse-options.h:158
+msgid "no-op (backward compatibility)"
+msgstr "no-op (tương thích ngược)"
+
+#: parse-options.h:232
+msgid "be more verbose"
+msgstr "chi tiết hơn nữa"
+
+#: parse-options.h:234
+msgid "be more quiet"
+msgstr "im lặng hơn nữa"
+
+#: parse-options.h:240
+msgid "use <n> digits to display SHA-1s"
+msgstr "sử dụng <n> chữ số để hiển thị SHA-1s"
+
+#: rerere.h:27
+msgid "update the index with reused conflict resolution if possible"
+msgstr "cập nhật bảng mục lục với phân giải xung đột dùng lại nếu được"
+
 #: 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 đã"
@@ -10265,7 +10471,7 @@ msgstr "sẽ không bisect trêm cây được cg-seek"
 
 #: git-bisect.sh:144
 msgid "Bad HEAD - strange symbolic ref"
-msgstr "HEAD sai - tham chiếu (ref) tượng trưng kỳ lạ"
+msgstr "HEAD sai - tham chiếu mềm kỳ lạ"
 
 #: git-bisect.sh:189
 #, sh-format
@@ -10303,7 +10509,7 @@ msgstr "Bạn có chắc chắn chưa [Y/n]? "
 
 #: git-bisect.sh:289
 msgid ""
-"You need to give me at least one good and one bad revisions.\n"
+"You need to give me at least one good and one bad revision.\n"
 "(You can use \"git bisect bad\" and \"git bisect good\" for that.)"
 msgstr ""
 "Bạn phải chỉ cho tôi ít nhất một điểm xét duyệt tốt và một điểm sai.\n"
@@ -10312,7 +10518,7 @@ msgstr ""
 #: git-bisect.sh:292
 msgid ""
 "You need to start by \"git bisect start\".\n"
-"You then need to give me at least one good and one bad revisions.\n"
+"You then need to give me at least one good and one bad revision.\n"
 "(You can use \"git bisect bad\" and \"git bisect good\" for that.)"
 msgstr ""
 "Bạn cần bắt đầu bằng lệnh \"git bisect start\".\n"
@@ -10386,18 +10592,26 @@ msgstr "bisect chạy thành công"
 msgid ""
 "Pull is not possible because you have unmerged files.\n"
 "Please, fix them up in the work tree, and then use 'git add/rm <file>'\n"
-"as appropriate to mark resolution, or use 'git commit -a'."
+"as appropriate to mark resolution and make a commit."
 msgstr ""
 "Pull là không thể được bởi vì bạn có những tập tin chưa được hòa trộn.\n"
 "Xin hãy sửa chữa chúng trước, và sau đó sử dụng lệnh “git add/rm <tập-tin>”\n"
-"để phê chuẩn việc đánh dấu đây cần được giải quyết, hoặc là sử dụng “git "
-"commit -a”."
+"để phê chuẩn việc đánh dấu đây cần được giải quyết và tạo một lần chuyển "
+"giao."
 
 #: git-pull.sh:25
 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:31
+msgid ""
+"You have not concluded your merge (MERGE_HEAD exists).\n"
+"Please, commit your changes before you can merge."
+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."
+
 #: git-pull.sh:245
 msgid "updating an unborn branch with changes added to the index"
 msgstr ""
@@ -10664,7 +10878,7 @@ msgstr "Chỉ ra quá nhiều điểm xét duyệt: $REV"
 
 #: git-stash.sh:397
 #, sh-format
-msgid "$reference is not valid reference"
+msgid "$reference is not valid reference"
 msgstr "$reference không phải là tham chiếu hợp lệ"
 
 #: git-stash.sh:425
@@ -10711,11 +10925,11 @@ msgstr "Đã xóa ${REV} ($s)"
 msgid "${REV}: Could not drop stash entry"
 msgstr "${REV}: Không thể xóa bỏ mục stash"
 
-#: git-stash.sh:538
+#: git-stash.sh:539
 msgid "No branch name specified"
 msgstr "Chưa chỉ ra tên của nhánh"
 
-#: git-stash.sh:610
+#: git-stash.sh:611
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(Để phục hồi lại chúng hãy gõ \"git stash apply\")"
 
@@ -11025,12 +11239,42 @@ msgstr "Gặp lỗi khi đệ quy vào trong đường dẫn mô-đun-con “$sm
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "Url Mô-đun-con đồng bộ hóa cho “$displaypath”"
 
+#~ msgid "Failed to lock ref for update"
+#~ msgstr "Gặp lỗi khi khóa tham chiếu để cập nhật"
+
+#~ msgid "Failed to write ref"
+#~ msgstr "Gặp lỗi khi ghi tham chiếu"
+
+#~ msgid "invalid commit: %s"
+#~ msgstr "lần chuyển giao không hợp lệ: %s"
+
 #~ msgid "commit has empty message"
 #~ msgstr "lần chuyển giao có ghi chú trống rỗng"
 
+#~ msgid "cannot lock HEAD ref"
+#~ msgstr "không thể khóa HEAD ref (tham chiếu)"
+
+#~ msgid "cannot update HEAD ref"
+#~ msgstr "không thể cập nhật ref (tham chiếu) HEAD"
+
+#~ msgid "Invalid %s: '%s'"
+#~ msgstr "%s không hợp lệ: “%s”"
+
 #~ msgid "Failed to chdir: %s"
 #~ msgstr "Gặp lỗi với lệnh chdir: %s"
 
+#~ msgid "cannot tell cwd"
+#~ msgstr "không nói chuyện được với lệnh cwd"
+
+#~ msgid "%s: cannot lock the ref"
+#~ msgstr "%s: không thể khóa ref (tham chiếu)"
+
+#~ msgid "%s: cannot update the ref"
+#~ msgstr "%s: không thể cập nhật ref (tham chiếu)"
+
+#~ msgid "Failed to lock HEAD during fast_forward_to"
+#~ msgstr "Gặp lỗi khi khóa HEAD trong quá trình fast_forward_to"
+
 #~ msgid "key id"
 #~ msgstr "id của khóa"