Merge git://github.com/git-l10n/git-po
[gitweb.git] / po / vi.po
index 2ccdf869c44dada501b385fb2543d63da072d265..9720880d2f0392d4b0649648c4d0ca386cbc547a 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -1,26 +1,28 @@
 # Vietnamese translation for GIT-CORE.
-# Copyright (C) 2012, Trần Ngọc Quân.
+# Copyright (C) 2012-2013 Trần Ngọc Quân.
 # This file is distributed under the same license as the git-core package.
-# First translated by Trần Ngọc Quân <vnwildman@gmail.com>, 2012.
+# First translated by Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2013.
 # Nguyễn Thái Ngọc Duy <pclouds@gmail.com>, 2012.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: git-v1.8.0.1-347-gf94c3\n"
+"Project-Id-Version: git-v1.8.2.1-342-gfa728\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2012-11-30 12:40+0800\n"
-"PO-Revision-Date: 2012-11-30 13:40+0700\n"
+"POT-Creation-Date: 2013-04-10 15:16+0800\n"
+"PO-Revision-Date: 2013-04-11 14:21+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
 "Language: vi\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Team-Website: <http://translationproject.org/team/vi.html>\n"
 "Plural-Forms: nplurals=2; plural=1;\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 "X-Poedit-Basepath: ../\n"
+"X-Generator: Poedit 1.5.5\n"
 
-#: advice.c:40
+#: advice.c:53
 #, c-format
 msgid "hint: %.*s\n"
 msgstr "gợi ý: %.*s\n"
@@ -29,7 +31,7 @@ msgstr "gợi ý: %.*s\n"
 #. * Message used both when 'git commit' fails and when
 #. * other commands doing a merge do.
 #.
-#: advice.c:70
+#: advice.c:83
 msgid ""
 "Fix them up in the work tree,\n"
 "and then use 'git add/rm <file>' as\n"
@@ -60,81 +62,113 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <kho> [--exec <lệnh>] --list"
 
-#: archive.c:322
+#: archive.c:323
 msgid "fmt"
 msgstr "fmt"
 
-#: archive.c:322
+#: archive.c:323
 msgid "archive format"
 msgstr "định dạng lưu trữ"
 
-#: archive.c:323 builtin/log.c:1084
+#: archive.c:324 builtin/log.c:1117
 msgid "prefix"
 msgstr "tiền tố"
 
-#: archive.c:324
+#: archive.c:325
 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:325 builtin/archive.c:91 builtin/blame.c:2390
-#: builtin/blame.c:2391 builtin/config.c:55 builtin/fast-export.c:642
-#: builtin/fast-export.c:644 builtin/grep.c:715 builtin/hash-object.c:77
-#: builtin/ls-files.c:494 builtin/ls-files.c:497 builtin/notes.c:540
-#: builtin/notes.c:697 builtin/read-tree.c:107 parse-options.h:149
+#: archive.c:326 builtin/archive.c:88 builtin/blame.c:2366
+#: builtin/blame.c:2367 builtin/config.c:55 builtin/fast-export.c:659
+#: builtin/fast-export.c:661 builtin/grep.c:715 builtin/hash-object.c:77
+#: builtin/ls-files.c:497 builtin/ls-files.c:500 builtin/notes.c:536
+#: builtin/notes.c:693 builtin/read-tree.c:107 parse-options.h:149
 msgid "file"
 msgstr "tập-tin"
 
-#: archive.c:326 builtin/archive.c:92
+#: archive.c:327 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:328
+#: archive.c:329
 msgid "read .gitattributes in working directory"
 msgstr "đọc .gitattributes trong thư mục làm việc"
 
-#: archive.c:329
+#: archive.c:330
 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 chuẩn)"
 
-#: archive.c:330
+#: archive.c:331
 msgid "store only"
 msgstr "chỉ lưu (không nén)"
 
-#: archive.c:331
+#: archive.c:332
 msgid "compress faster"
 msgstr "nén nhanh hơn"
 
-#: archive.c:339
+#: archive.c:340
 msgid "compress better"
 msgstr "nén nhỏ hơn"
 
-#: archive.c:342
+#: archive.c:343
 msgid "list supported archive formats"
 msgstr "liệt kê các kiểu nén được hỗ trợ"
 
-#: archive.c:344 builtin/archive.c:93 builtin/clone.c:85
+#: archive.c:345 builtin/archive.c:90 builtin/clone.c:86
 msgid "repo"
 msgstr "kho"
 
-#: archive.c:345 builtin/archive.c:94
+#: archive.c:346 builtin/archive.c:91
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "nhận kho lưu từ kho chứa <kho> trên máy chủ"
 
-#: archive.c:346 builtin/archive.c:95 builtin/notes.c:619
+#: archive.c:347 builtin/archive.c:92 builtin/notes.c:615
 msgid "command"
 msgstr "lệnh"
 
-#: archive.c:347 builtin/archive.c:96
+#: archive.c:348 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
 msgid ""
-"Negative patterns are forbidden in git attributes\n"
+"Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
 msgstr ""
-"Mấu dạng phủ định bị cấm chỉ dùng trong các thuộc tính của git\n"
-"Dùng '\\!' cho các chuỗi văn bản có dấu chấm than."
+"Các mẫu dạng phủ định bị cấm dùng cho các thuộc tính của git\n"
+"Dùng “\\!” cho các chuỗi văn bản có dấu chấm than dẫn đầu."
+
+#: branch.c:201
+#, 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 vết; điểm bắt đầu '%s' không phải là một "
+"nhánh."
+
+#: branch.c:203
+#, c-format
+msgid "the requested upstream branch '%s' does not exist"
+msgstr "nhánh dòng ngược đã yêu cầu “%s” chưa sẵn có"
+
+#: branch.c:205
+msgid ""
+"\n"
+"If you are planning on basing your work on an upstream\n"
+"branch that already exists at the remote, you may need to\n"
+"run \"git fetch\" to retrieve it.\n"
+"\n"
+"If you are planning to push out a new local branch that\n"
+"will track its remote counterpart, you may want to use\n"
+"\"git push -u\" to set the upstream config as you push."
+msgstr ""
+"\n"
+"Nếu bạn có ý định trên cơ sở công việc của bạn trên nhánh dòng ngược\n"
+"(upstream) cái mà đã sẵn có trên máy chủ, bạn cần chạy\n"
+"lệnh \"git fetch\" để lấy nó về.\n"
+"\n"
+"Nếu bạn có ý định push lênh một nhánh nội bộ mới cái mà\n"
+"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 dòng ngược bạn muốn push."
 
 #: bundle.c:36
 #, c-format
@@ -146,44 +180,44 @@ msgstr "“%s” không giống như tập tin v2 bundle (định dạng dump c
 msgid "unrecognized header: %s%s (%d)"
 msgstr "phần đầu (header) không được thừa nhận: %s%s (%d)"
 
-#: bundle.c:89 builtin/commit.c:674
+#: bundle.c:89 builtin/commit.c:676
 #, c-format
 msgid "could not open '%s'"
 msgstr "không thể mở “%s”"
 
 #: bundle.c:140
 msgid "Repository lacks these prerequisite commits:"
-msgstr "Khó chứa thiếu những lần chuyển giao (commit) cần trước hết này:"
+msgstr "Kho chứa thiếu những lần chuyển giao (commit) cần trước hết này:"
 
-#: bundle.c:164 sequencer.c:562 sequencer.c:994 builtin/log.c:290
-#: builtin/log.c:732 builtin/log.c:1319 builtin/log.c:1535 builtin/merge.c:347
-#: builtin/shortlog.c:181
+#: bundle.c:164 sequencer.c:651 sequencer.c:1083 builtin/log.c:300
+#: builtin/log.c:754 builtin/log.c:1350 builtin/log.c:1566 builtin/merge.c:349
+#: builtin/shortlog.c:157
 msgid "revision walk setup failed"
 msgstr "cài đặt việc di chuyển qua các điểm xét lại gặp lỗi"
 
 #: bundle.c:186
 #, c-format
-msgid "The bundle contains %d ref"
-msgid_plural "The bundle contains %d refs"
-msgstr[0] "Bundle chứa %d tham chiếu (refs)"
-msgstr[1] "Bundle chứa %d tham chiếu (refs)"
+msgid "The bundle contains this ref:"
+msgid_plural "The bundle contains these %d refs:"
+msgstr[0] "Bundle chứa tham chiếu (ref) này:"
+msgstr[1] "Bundle chứa %d tham chiếu (ref):"
 
-#: bundle.c:192
+#: bundle.c:193
 msgid "The bundle records a complete history."
 msgstr "Lệnh bundle ghi lại toàn bộ lịch sử."
 
 #: bundle.c:195
 #, 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 (refs) này"
-msgstr[1] "Lệnh bundle yêu cầu %d tham chiếu (refs) này"
+msgid "The bundle requires this ref:"
+msgid_plural "The bundle requires these %d refs:"
+msgstr[0] "Lệnh bundle yêu cầu tham chiếu này:"
+msgstr[1] "Lệnh bundle yêu cầu %d tham chiếu (refs) này:"
 
 #: bundle.c:294
 msgid "rev-list died"
 msgstr "rev-list đã chết"
 
-#: bundle.c:300 builtin/log.c:1215 builtin/shortlog.c:284
+#: bundle.c:300 builtin/log.c:1246 builtin/shortlog.c:260
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "đối số không được thừa nhận: %s"
@@ -309,22 +343,22 @@ msgid_plural "%lu years ago"
 msgstr[0] "%lu năm trước"
 msgstr[1] "%lu năm trước"
 
-#: diff.c:111
+#: diff.c:112
 #, c-format
 msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
-msgstr "  Gặp lỗi khi phân tích dirstat cắt bỏ phần trăm '%s'\n"
+msgstr "  Gặp lỗi khi phân tích dirstat cắt bỏ phần trăm “%s”\n"
 
-#: diff.c:116
+#: diff.c:117
 #, c-format
 msgid "  Unknown dirstat parameter '%s'\n"
-msgstr "  Không hiểu đối số dirstat '%s'\n"
+msgstr "  Không hiểu đối số dirstat “%s”\n"
 
-#: diff.c:194
+#: diff.c:210
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
-msgstr "Không hiểu giá trị cho biến cấu hình “diff.submodule”: `%s'"
+msgstr "Không hiểu giá trị cho biến cấu hình “diff.submodule”: “%s”"
 
-#: diff.c:237
+#: diff.c:260
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -333,7 +367,7 @@ msgstr ""
 "Tìm thấy các lỗi trong biến cấu hình “diff.dirstat”:\n"
 "%s"
 
-#: diff.c:3494
+#: diff.c:3480
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -342,34 +376,44 @@ msgstr ""
 "Gặp lỗi khi phân tích đối số tùy chọn --dirstat/-X:\n"
 "%s"
 
-#: diff.c:3508
+#: diff.c:3494
 #, 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'"
+msgstr "Gặp lỗi khi phân tích đối số tùy chọn --submodule: “%s”"
 
-#: gpg-interface.c:59
+#: gpg-interface.c:59 gpg-interface.c:131
 msgid "could not run gpg."
 msgstr "không thể chạy gpg."
 
 #: gpg-interface.c:71
 msgid "gpg did not accept the data"
-msgstr "gpg đã không đồng ý dữ liệu"
+msgstr "gpg đã không chấp nhận dữ liệu"
 
 #: gpg-interface.c:82
 msgid "gpg failed to sign the data"
 msgstr "gpg gặp lỗi khi ký dữ liệu"
 
-#: grep.c:1622
+#: gpg-interface.c:115
+#, 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:118
+#, 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:1623
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "“%s”: không thể đọc %s"
 
-#: grep.c:1639
+#: grep.c:1640
 #, c-format
 msgid "'%s': %s"
 msgstr "“%s”: %s"
 
-#: grep.c:1650
+#: grep.c:1651
 #, c-format
 msgid "'%s': short read %s"
 msgstr "“%s”: đọc ngắn %s"
@@ -383,7 +427,11 @@ msgstr "các lệnh git sẵn sàng để dùng trong “%s”"
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "các lệnh git sẵn sàng để dùng từ một nơi khác trong $PATH của bạn"
 
-#: help.c:275
+#: help.c:235
+msgid "The most commonly used git commands are:"
+msgstr "Những lệnh git hay được sử dụng nhất là:"
+
+#: help.c:292
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -392,11 +440,11 @@ msgstr ""
 "“%s” trông như là một lệnh git, nhưng chúng tôi không\n"
 "thể thực thi nó. Có lẽ là lệnh git-%s đã bị hỏng?"
 
-#: help.c:332
+#: help.c:349
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Ối chà. Hệ thống của bạn báo rằng chẳng có lệnh Git nào cả."
 
-#: help.c:354
+#: help.c:371
 #, c-format
 msgid ""
 "WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -405,17 +453,17 @@ msgstr ""
 "CẢNH BÁO: Bạn đã gọi lệnh Git có tên “%s”, mà nó lại không có sẵn.\n"
 "Giả định rằng ý bạn là “%s”"
 
-#: help.c:359
+#: help.c:376
 #, c-format
 msgid "in %0.1f seconds automatically..."
 msgstr "trong %0.1f giây một cách tự động..."
 
-#: help.c:366
+#: help.c:383
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git: “%s” không phải là một lệnh của git. Xem “git --help”."
 
-#: help.c:370
+#: help.c:387
 msgid ""
 "\n"
 "Did you mean this?"
@@ -433,8 +481,8 @@ msgstr[1] ""
 msgid "failed to read the cache"
 msgstr "gặp lỗi khi đọc bộ nhớ tạm"
 
-#: merge.c:110 builtin/checkout.c:333 builtin/checkout.c:534
-#: builtin/clone.c:586
+#: merge.c:110 builtin/checkout.c:362 builtin/checkout.c:563
+#: builtin/clone.c:635
 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"
 
@@ -483,7 +531,7 @@ msgstr "không thể đọc đối tượng %s “%s”"
 msgid "blob expected for %s '%s'"
 msgstr "đối tượng blob được mong đợi cho %s “%s”"
 
-#: merge-recursive.c:773 builtin/clone.c:302
+#: merge-recursive.c:773 builtin/clone.c:303
 #, c-format
 msgid "failed to open '%s'"
 msgstr "gặp lỗi khi mở “%s”"
@@ -618,7 +666,7 @@ msgstr "Đã bỏ qua %s (đã có sẵn lần hòa trộn này)"
 msgid "Auto-merging %s"
 msgstr "Tự-động-hòa-trộn %s"
 
-#: merge-recursive.c:1633 git-submodule.sh:893
+#: merge-recursive.c:1633 git-submodule.sh:1029
 msgid "submodule"
 msgstr "mô-đun-con"
 
@@ -690,43 +738,62 @@ msgstr "hòa trộn không trả về lần chuyển giao (commit) nào"
 msgid "Could not parse object '%s'"
 msgstr "Không thể phân tích đối tượng “%s”"
 
-#: merge-recursive.c:2009 builtin/merge.c:643
+#: merge-recursive.c:2009 builtin/merge.c:658
 msgid "Unable to write index."
 msgstr "Không thể ghi bảng mục lục"
 
-#: parse-options.c:494
+#: object.c:195
+#, c-format
+msgid "unable to parse object: %s"
+msgstr "không thể phân tích đối tượng: “%s”"
+
+#: parse-options.c:489
 msgid "..."
 msgstr "..."
 
-#: parse-options.c:512
+#: parse-options.c:507
 #, 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:516
+#: parse-options.c:511
 #, c-format
 msgid "   or: %s"
 msgstr "     hoặc: %s"
 
-#: parse-options.c:519
+#: parse-options.c:514
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: remote.c:1632
+#: parse-options.c:548
+msgid "-NUM"
+msgstr "-SỐ"
+
+#: pathspec.c:83
+#, c-format
+msgid "Path '%s' is in submodule '%.*s'"
+msgstr "Đường dẫn “%s” thì ở trong mô-đun-con “%.*s”"
+
+#: pathspec.c:99
+#, c-format
+msgid "'%s' is beyond a symbolic link"
+msgstr "“%s” nằm ngoài một liên kết tượng trưng"
+
+#: remote.c:1781
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "Nhánh của bạn là đầu của “%s” bởi %d lần chuyển giao (commit).\n"
 msgstr[1] "Nhánh của bạn là đầu của “%s” bởi %d lần chuyển giao (commit).\n"
 
-#: remote.c:1637
+#: remote.c:1787
 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:1640
+#: remote.c:1790
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -738,11 +805,11 @@ msgstr[1] ""
 "Nhánh của bạn thì ở đằng sau “%s” bởi %d lần chuyển giao (commit), và có thể "
 "được fast-forward.\n"
 
-#: remote.c:1647
+#: remote.c:1798
 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:1650
+#: remote.c:1801
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -758,25 +825,25 @@ msgstr[1] ""
 "Your branch and “%s” have diverged,\n"
 "and have %d and %d different commit each, respectively.\n"
 
-#: remote.c:1659
+#: remote.c:1811
 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"
 
-#: sequencer.c:123 builtin/merge.c:761 builtin/merge.c:874 builtin/merge.c:984
-#: builtin/merge.c:994
+#: sequencer.c:206 builtin/merge.c:776 builtin/merge.c:889 builtin/merge.c:999
+#: builtin/merge.c:1009
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "Không thể mở “%s” để ghi"
 
-#: sequencer.c:125 builtin/merge.c:333 builtin/merge.c:764 builtin/merge.c:986
-#: builtin/merge.c:999
+#: sequencer.c:208 builtin/merge.c:335 builtin/merge.c:779
+#: builtin/merge.c:1001 builtin/merge.c:1014
 #, c-format
 msgid "Could not write to '%s'"
 msgstr "Không thể ghi vào “%s”"
 
-#: sequencer.c:146
+#: sequencer.c:229
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -784,7 +851,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:149
+#: sequencer.c:232
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -794,73 +861,69 @@ msgstr ""
 "với lệnh “git add <đường_dẫn>” hoặc “git rm <đường_dẫn>”\n"
 "và chuyển giao (commit) kết quả bằng lệnh “git commit”"
 
-#: sequencer.c:162 sequencer.c:770 sequencer.c:853
+#: sequencer.c:245 sequencer.c:859 sequencer.c:942
 #, c-format
 msgid "Could not write to %s"
 msgstr "Không thể ghi vào %s"
 
-#: sequencer.c:165
+#: sequencer.c:248
 #, c-format
 msgid "Error wrapping up %s"
 msgstr "Lỗi bao bọc %s"
 
-#: sequencer.c:180
+#: sequencer.c:263
 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:182
+#: sequencer.c:265
 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:185
+#: sequencer.c:268
 msgid "Commit your changes or stash them to proceed."
 msgstr "Chuyển giao (commit) các thay đổi của bạn hay stash chúng để xử lý."
 
 #. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:235
+#: sequencer.c:319
 #, 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:266
+#: sequencer.c:350
 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:287
+#: sequencer.c:371
 msgid "Unable to update cache tree\n"
 msgstr "Không thể cập nhật cây bộ nhớ đệm\n"
 
-#: sequencer.c:332
+#: sequencer.c:416
 #, 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:337
+#: sequencer.c:421
 #, c-format
 msgid "Could not parse parent commit %s\n"
 msgstr "Không thể phân tích commit (lần chuyển giao) cha mẹ %s\n"
 
-#: sequencer.c:403
+#: sequencer.c:487
 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:406
-msgid "You do not have a valid HEAD"
-msgstr "Bạn không có HEAD nào hợp lệ"
-
-#: sequencer.c:421
+#: sequencer.c:506
 #, c-format
 msgid "Commit %s is a merge but no -m option was given."
 msgstr ""
 "Lần chuyển giao (commit) %s là một lần hòa trộn nhưng không đưa ra tùy chọn -"
 "m."
 
-#: sequencer.c:429
+#: sequencer.c:514
 #, c-format
 msgid "Commit %s does not have parent %d"
 msgstr "Lần chuyển giao (commit) %s không có cha mẹ %d"
 
-#: sequencer.c:433
+#: sequencer.c:518
 #, c-format
 msgid "Mainline was specified but commit %s is not a merge."
 msgstr ""
@@ -869,161 +932,161 @@ msgstr ""
 
 #. TRANSLATORS: The first %s will be "revert" or
 #. "cherry-pick", the second %s a SHA1
-#: sequencer.c:444
+#: sequencer.c:531
 #, 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:448
+#: sequencer.c:535
 #, c-format
 msgid "Cannot get commit message for %s"
 msgstr "Không thể lấy thông điệp lần chuyển giao (commit) cho %s"
 
-#: sequencer.c:532
+#: sequencer.c:621
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "không thể revert %s... %s"
 
-#: sequencer.c:533
+#: sequencer.c:622
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "không thể apply (áp dụng miếng vá) %s... %s"
 
-#: sequencer.c:565
+#: sequencer.c:654
 msgid "empty commit set passed"
 msgstr "lần chuyển giao (commit) trống rỗng đặt là hợp quy cách"
 
-#: sequencer.c:573
+#: sequencer.c:662
 #, 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:578
+#: sequencer.c:667
 #, 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:636
+#: sequencer.c:725
 #, c-format
 msgid "Cannot %s during a %s"
 msgstr "Không thể %s trong khi %s"
 
-#: sequencer.c:658
+#: sequencer.c:747
 #, c-format
 msgid "Could not parse line %d."
 msgstr "Không phân tích được dòng %d."
 
-#: sequencer.c:663
+#: sequencer.c:752
 msgid "No commits parsed."
 msgstr "Không có lần chuyển giao (commit) nào được phân tích."
 
-#: sequencer.c:676
+#: sequencer.c:765
 #, c-format
 msgid "Could not open %s"
 msgstr "Không thể mở %s"
 
-#: sequencer.c:680
+#: sequencer.c:769
 #, c-format
 msgid "Could not read %s."
 msgstr "Không thể đọc %s."
 
-#: sequencer.c:687
+#: sequencer.c:776
 #, c-format
 msgid "Unusable instruction sheet: %s"
 msgstr "Bảng chỉ thị không thể dùng được: %s"
 
-#: sequencer.c:715
+#: sequencer.c:804
 #, c-format
 msgid "Invalid key: %s"
 msgstr "Khóa không đúng: %s"
 
-#: sequencer.c:718
+#: sequencer.c:807
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "Giá trị không hợp lệ %s: %s"
 
-#: sequencer.c:730
+#: sequencer.c:819
 #, c-format
 msgid "Malformed options sheet: %s"
 msgstr "Bảng tùy chọn dị hình: %s"
 
-#: sequencer.c:751
+#: sequencer.c:840
 msgid "a cherry-pick or revert is already in progress"
 msgstr "một thao tác cherry-pick hoặc revert đang được thực hiện"
 
-#: sequencer.c:752
+#: sequencer.c:841
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "hãy thử \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:756
+#: sequencer.c:845
 #, 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:772 sequencer.c:857
+#: sequencer.c:861 sequencer.c:946
 #, c-format
 msgid "Error wrapping up %s."
 msgstr "Lỗi bao bọc %s."
 
-#: sequencer.c:791 sequencer.c:925
+#: sequencer.c:880 sequencer.c:1014
 msgid "no cherry-pick or revert in progress"
 msgstr "không cherry-pick hay revert trong tiến trình"
 
-#: sequencer.c:793
+#: sequencer.c:882
 msgid "cannot resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: sequencer.c:795
+#: sequencer.c:884
 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:817 builtin/apply.c:4005
+#: sequencer.c:906 builtin/apply.c:4060
 #, c-format
 msgid "cannot open %s: %s"
 msgstr "không thể mở %s: %s"
 
-#: sequencer.c:820
+#: sequencer.c:909
 #, c-format
 msgid "cannot read %s: %s"
 msgstr "không thể đọc %s: %s"
 
-#: sequencer.c:821
+#: sequencer.c:910
 msgid "unexpected end of file"
 msgstr "kết thúc tập tin đột xuất"
 
-#: sequencer.c:827
+#: sequencer.c:916
 #, 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:850
+#: sequencer.c:939
 #, c-format
 msgid "Could not format %s."
 msgstr "Không thể định dạng %s."
 
-#: sequencer.c:1012
+#: sequencer.c:1101
 msgid "Can't revert as initial commit"
 msgstr "Không thể revert một lần chuyển giao (commit) khởi tạo"
 
-#: sequencer.c:1013
+#: sequencer.c:1102
 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:1044
+#: sha1_name.c:1036
 msgid "HEAD does not point to a branch"
 msgstr "HEAD không chỉ đến một nhánh nào cả"
 
-#: sha1_name.c:1047
+#: sha1_name.c:1039
 #, c-format
 msgid "No such branch: '%s'"
 msgstr "Không có nhánh nào như thế: “%s”"
 
-#: sha1_name.c:1049
+#: sha1_name.c:1041
 #, c-format
 msgid "No upstream configured for branch '%s'"
 msgstr "Không có thượng nguồn (upstream) được cấu hình cho nhánh “%s”"
 
-#: sha1_name.c:1052
+#: sha1_name.c:1044
 #, c-format
 msgid "Upstream branch '%s' not stored as a remote-tracking branch"
 msgstr ""
@@ -1035,12 +1098,17 @@ msgstr ""
 msgid "unable to access '%s': %s"
 msgstr "không thể truy cập “%s”: %s"
 
-#: wrapper.c:426
+#: wrapper.c:423
+#, c-format
+msgid "unable to access '%s'"
+msgstr "không thể truy cập “%s”"
+
+#: wrapper.c:434
 #, 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:427
+#: wrapper.c:435
 msgid "no such user"
 msgstr "không có người dùng như vậy"
 
@@ -1121,7 +1189,7 @@ msgstr "bị xóa bởi cả hai:"
 
 #: wt-status.c:250
 msgid "added by us:"
-msgstr "được thêm vào bởi chúng tôi:"
+msgstr "được thêm vào bởi chúng ta:"
 
 #: wt-status.c:251
 msgid "deleted by them:"
@@ -1133,7 +1201,7 @@ msgstr "được thêm vào bởi họ:"
 
 #: wt-status.c:253
 msgid "deleted by us:"
-msgstr "bị xóa bởi chúng tôi:"
+msgstr "bị xóa bởi chúng ta:"
 
 #: wt-status.c:254
 msgid "both added:"
@@ -1149,204 +1217,271 @@ msgstr "lần chuyển giao (commit) mới, "
 
 #: wt-status.c:287
 msgid "modified content, "
-msgstr "nội dung được sửa đổi, "
+msgstr "nội dung bị sửa đổi, "
 
 #: wt-status.c:289
 msgid "untracked content, "
 msgstr "nội dung chưa được theo dõi, "
 
-#: wt-status.c:303
+#: wt-status.c:306
 #, c-format
 msgid "new file:   %s"
 msgstr "tập tin mới:   %s"
 
-#: wt-status.c:306
+#: wt-status.c:309
 #, c-format
 msgid "copied:     %s -> %s"
 msgstr "đã sao chép:     %s -> %s"
 
-#: wt-status.c:309
+#: wt-status.c:312
 #, c-format
 msgid "deleted:    %s"
 msgstr "đã xóa:    %s"
 
-#: wt-status.c:312
+#: wt-status.c:315
 #, c-format
 msgid "modified:   %s"
 msgstr "đã sửa đổi:   %s"
 
-#: wt-status.c:315
+#: wt-status.c:318
 #, c-format
 msgid "renamed:    %s -> %s"
 msgstr "đã đổi tên:    %s -> %s"
 
-#: wt-status.c:318
+#: wt-status.c:321
 #, c-format
 msgid "typechange: %s"
 msgstr "đổi-kiểu: %s"
 
-#: wt-status.c:321
+#: wt-status.c:324
 #, c-format
 msgid "unknown:    %s"
 msgstr "không hiểu:    %s"
 
-#: wt-status.c:324
+#: wt-status.c:327
 #, c-format
 msgid "unmerged:   %s"
 msgstr "chưa hòa trộn:   %s"
 
-#: wt-status.c:327
+#: wt-status.c:330
 #, c-format
 msgid "bug: unhandled diff status %c"
 msgstr "lỗi: không lấy được trạng thái lệnh diff %c"
 
-#: wt-status.c:785
+#: wt-status.c:805
 msgid "You have unmerged paths."
 msgstr "Bạn có những đường dẫn chưa được hòa trộn."
 
-#: wt-status.c:788 wt-status.c:912
+#: wt-status.c:808 wt-status.c:960
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (sửa các xung đột sau đó chạy \"git commit\")"
 
-#: wt-status.c:791
+#: wt-status.c:811
 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:794
+#: wt-status.c:814
 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:804
+#: wt-status.c:824
 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:807
+#: wt-status.c:827
 msgid "The current patch is empty."
 msgstr "Miếng vá hiện tại bị trống rỗng."
 
-#: wt-status.c:811
+#: wt-status.c:831
 msgid "  (fix conflicts and then run \"git am --resolved\")"
 msgstr "  (sửa các xung đột và sau đó chạy lệnh \"git am --resolved\")"
 
-#: wt-status.c:813
+#: wt-status.c:833
 msgid "  (use \"git am --skip\" to skip this patch)"
-msgstr "  (dùng \"git am --skip\" để bỏ qua lần vá này)"
+msgstr "  (dùng \"git am --skip\" để bỏ qua miếng vá này)"
 
-#: wt-status.c:815
+#: wt-status.c:835
 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:873 wt-status.c:883
+#: wt-status.c:895 wt-status.c:912
+#, 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:900 wt-status.c:917
 msgid "You are currently rebasing."
 msgstr "Bạn hiện nay đang thực hiện việc rebase (tái cấu trúc)."
 
-#: wt-status.c:876
+#: wt-status.c:903
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (sửa các xung đột và sau đó chạy lệnh \"git rebase --continue\")"
 
-#: wt-status.c:878
+#: wt-status.c:905
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (dùng \"git rebase --skip\" để bỏ qua lần vá này)"
 
-#: wt-status.c:880
+#: wt-status.c:907
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (dùng \"git rebase --abort\" để check-out nhánh nguyên thủy)"
 
-#: wt-status.c:886
+#: wt-status.c:920
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr ""
 "  (khi tất cả các xung đột đã sửa xong: chạy lệnh \"git rebase --continue\")"
 
-#: wt-status.c:888
+#: wt-status.c:924
+#, c-format
+msgid ""
+"You are currently splitting a commit while rebasing branch '%s' on '%s'."
+msgstr ""
+"Bạn hiện nay đang thực hiện việc chia tách một lần chuyển giao (commit) "
+"trong khi đang rebase nhánh “%s” trên “%s”."
+
+#: wt-status.c:929
 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:891
+#: wt-status.c:932
 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 \"git rebase --continue"
 "\")"
 
-#: wt-status.c:893
+#: wt-status.c:936
+#, 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 (commit) trong "
+"khi đang rebase nhánh “%s” trên “%s”."
+
+#: wt-status.c:941
 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:896
+#: wt-status.c:944
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr ""
 "  (dùng \"git commit --amend\" để tu bổ lần chuyển giao (commit) hiện tại)"
 
-#: wt-status.c:898
+#: wt-status.c:946
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 "  (dùng \"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:908
+#: wt-status.c:956
 msgid "You are currently cherry-picking."
 msgstr "Bạn hiện nay đang thực hiện việc cherry-pick."
 
-#: wt-status.c:915
+#: wt-status.c:963
 msgid "  (all conflicts fixed: run \"git commit\")"
 msgstr "  (khi tất cả các xung đột đã sửa xong: chạy lệnh \"git commit\")"
 
-#: wt-status.c:924
+#: wt-status.c:972
+#, 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:977
+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:980
+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:982
+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:993
+#, 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:997
 msgid "You are currently bisecting."
 msgstr "Bạn hiện tại đang thực hiện việc bisect (chia đôi)."
 
-#: wt-status.c:927
+#: wt-status.c:1000
 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:978
+#: wt-status.c:1175
 msgid "On branch "
 msgstr "Trên nhánh "
 
-#: wt-status.c:985
+#: wt-status.c:1186
+msgid "HEAD detached at "
+msgstr "HEAD được tách rời tại"
+
+#: wt-status.c:1188
+msgid "HEAD detached from "
+msgstr "HEAD được tách rời từ"
+
+#: wt-status.c:1191
 msgid "Not currently on any branch."
 msgstr "Hiện tại chẳng ở nhánh nào cả."
 
-#: wt-status.c:997
+#: wt-status.c:1208
 msgid "Initial commit"
 msgstr "Lần chuyển giao (commit) khởi đầu"
 
-#: wt-status.c:1011
+#: wt-status.c:1222
 msgid "Untracked files"
 msgstr "Những tập tin chưa được theo dõi"
 
-#: wt-status.c:1013
+#: wt-status.c:1224
 msgid "Ignored files"
 msgstr "Những tập tin bị lờ đi"
 
-#: wt-status.c:1015
+#: wt-status.c:1228
+#, c-format
+msgid "It took %.2f seconds to enumerate untracked files.  'status -uno'"
+msgstr "Cần %.2f giây để đếm các tập tin chưa được theo vết.  'status -uno'"
+
+#: wt-status.c:1232
+msgid "may speed it up, but you have to be careful not to forget to add"
+msgstr ""
+"có thể làm nó nhanh lên, nhưng bạn phải cẩn trọng đừng quên thêm nó vào"
+
+#: wt-status.c:1235
+msgid "new files yourself (see 'git help status')."
+msgstr "tập tin mới của chính bạn (xem 'git help status')."
+
+#: wt-status.c:1238
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Những tập tin không bị theo vết không được liệt kê ra %s"
 
-#: wt-status.c:1017
+#: wt-status.c:1240
 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:1023
+#: wt-status.c:1246
 msgid "No changes"
 msgstr "Không có thay đổi nào"
 
-#: wt-status.c:1028
+#: wt-status.c:1251
 #, 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 commit (dùng \"git add\" và/hoặc \"git "
 "commit -a\")\n"
 
-#: wt-status.c:1031
+#: wt-status.c:1254
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "không có thay đổi nào được thêm vào lần chuyển giao (commit)\n"
 
-#: wt-status.c:1034
+#: wt-status.c:1257
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -1355,206 +1490,241 @@ msgstr ""
 "không có gì được thêm vào lần chuyển giao (commit) nhưng có những tập tin "
 "không được theo dấu vết hiện diện (dùng \"git add\" để đưa vào theo dõi)\n"
 
-#: wt-status.c:1037
+#: wt-status.c:1260
 #, 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 (commit) nhưng có những tập tin "
 "không được theo dấu vết hiện diện\n"
 
-#: wt-status.c:1040
+#: wt-status.c:1263
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 " không có gì để commit (tạo/sao-chép các tập tin và dùng \"git add\" để theo "
 "dõi dấu vết)\n"
 
-#: wt-status.c:1043 wt-status.c:1048
+#: wt-status.c:1266 wt-status.c:1271
 #, c-format
 msgid "nothing to commit\n"
 msgstr "không có gì để chuyển giao (commit)\n"
 
-#: wt-status.c:1046
+#: wt-status.c:1269
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr ""
 "không có gì để chuyển giao (commit) (dùng -u để bỏ các tập tin cần theo dấu "
 "vết)\n"
 
-#: wt-status.c:1050
+#: wt-status.c:1273
 #, c-format
 msgid "nothing to commit, working directory clean\n"
 msgstr "không có gì để chuyển giao (commit), thư mục làm việc sạch sẽ\n"
 
-#: wt-status.c:1158
+#: wt-status.c:1381
 msgid "HEAD (no branch)"
 msgstr "HEAD (không nhánh)"
 
-#: wt-status.c:1164
+#: wt-status.c:1387
 msgid "Initial commit on "
 msgstr "Lần chuyển giao (commit) khởi tạo trên "
 
-#: wt-status.c:1179
+#: wt-status.c:1402
 msgid "behind "
 msgstr "đằng sau "
 
-#: wt-status.c:1182 wt-status.c:1185
+#: wt-status.c:1405 wt-status.c:1408
 msgid "ahead "
 msgstr "phía trước "
 
-#: wt-status.c:1187
+#: wt-status.c:1410
 msgid ", behind "
 msgstr ", đằng sau "
 
-#: compat/precompose_utf8.c:58 builtin/clone.c:341
+#: compat/precompose_utf8.c:58 builtin/clone.c:342
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "bỏ liên kết (unlink) %s không thành công"
 
-#: builtin/add.c:19
-msgid "git add [options] [--] <filepattern>..."
-msgstr "git add [các-tùy-chọn] [--] <mẫu-tập-tin>..."
+#: builtin/add.c:20
+msgid "git add [options] [--] <pathspec>..."
+msgstr "git add [các-tùy-chọn] [--]  <pathspec>..."
 
-#: builtin/add.c:62
+#: builtin/add.c:63
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "trạng thái lệnh diff không như mong đợi %c"
 
-#: builtin/add.c:67 builtin/commit.c:231
+#: builtin/add.c:68 builtin/commit.c:233
 msgid "updating files failed"
 msgstr "Cập nhật tập tin gặp lỗi"
 
-#: builtin/add.c:77
+#: builtin/add.c:78
 #, c-format
 msgid "remove '%s'\n"
 msgstr "gỡ bỏ “%s”\n"
 
-#: builtin/add.c:176
-#, c-format
-msgid "Path '%s' is in submodule '%.*s'"
-msgstr "Đường dẫn “%s” thì ở trong mô-đun-con “%.*s”"
-
-#: builtin/add.c:192
+#: builtin/add.c:148
 msgid "Unstaged changes after refreshing the index:"
 msgstr ""
 "Các thay đổi không được lưu trạng thái sau khi làm tươi mới lại bảng mục lục:"
 
-#: builtin/add.c:195 builtin/add.c:460 builtin/rm.c:275
+#: builtin/add.c:151 builtin/add.c:460 builtin/rm.c:275
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "pathspec “%s” không khớp với bất kỳ tập tin nào"
 
-#: builtin/add.c:209
-#, c-format
-msgid "'%s' is beyond a symbolic link"
-msgstr "“%s” nằm ngoài một liên kết tượng trưng"
-
-#: builtin/add.c:276
+#: builtin/add.c:234
 msgid "Could not read the index"
 msgstr "Không thể đọc bảng mục lục"
 
-#: builtin/add.c:286
+#: builtin/add.c:244
 #, c-format
 msgid "Could not open '%s' for writing."
-msgstr "Không thể mở “%s” để ghi"
+msgstr "Không thể mở “%s” để ghi."
 
-#: builtin/add.c:290
+#: builtin/add.c:248
 msgid "Could not write patch"
 msgstr "Không thể ghi ra miếng vá"
 
-#: builtin/add.c:295
+#: builtin/add.c:253
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "không thể lấy trạng thái về “%s”"
 
-#: builtin/add.c:297
+#: builtin/add.c:255
 msgid "Empty patch. Aborted."
 msgstr "Miếng vá trống rỗng. Đã bỏ qua."
 
-#: builtin/add.c:303
+#: builtin/add.c:261
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "Không thể apply (áp dụng miếng vá) “%s”"
 
-#: builtin/add.c:313
+#: builtin/add.c:271
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr ""
 "Các đường dẫn theo sau đây sẽ bị lờ đi bởi một trong các tập tin .gitignore "
 "của bạn:\n"
 
-#: builtin/add.c:319 builtin/clean.c:52 builtin/fetch.c:78 builtin/mv.c:63
-#: builtin/prune-packed.c:76 builtin/push.c:388 builtin/remote.c:1253
+#: builtin/add.c:277 builtin/clean.c:161 builtin/fetch.c:78 builtin/mv.c:63
+#: builtin/prune-packed.c:76 builtin/push.c:425 builtin/remote.c:1253
 #: builtin/rm.c:206
 msgid "dry run"
 msgstr "chạy thử"
 
-#: builtin/add.c:320 builtin/apply.c:4354 builtin/commit.c:1160
-#: builtin/count-objects.c:82 builtin/fsck.c:613 builtin/log.c:1483
-#: builtin/mv.c:62 builtin/read-tree.c:112
+#: builtin/add.c:278 builtin/apply.c:4409 builtin/check-ignore.c:19
+#: builtin/commit.c:1152 builtin/count-objects.c:95 builtin/fsck.c:613
+#: builtin/log.c:1514 builtin/mv.c:62 builtin/read-tree.c:112
 msgid "be verbose"
 msgstr "chi tiết"
 
-#: builtin/add.c:322
+#: builtin/add.c:280
 msgid "interactive picking"
 msgstr "sửa bằng cách tương tác"
 
-#: builtin/add.c:323 builtin/checkout.c:1031 builtin/reset.c:248
+#: builtin/add.c:281 builtin/checkout.c:1060 builtin/reset.c:258
 msgid "select hunks interactively"
 msgstr "chọn “hunks” một cách tương tác"
 
-#: builtin/add.c:324
+#: builtin/add.c:282
 msgid "edit current diff and apply"
 msgstr "sửa diff hiện nay và áp dụng nó"
 
-#: builtin/add.c:325
+#: builtin/add.c:283
 msgid "allow adding otherwise ignored files"
 msgstr "cho phép thêm các tập tin bị bỏ qua khác"
 
-#: builtin/add.c:326
+#: builtin/add.c:284
 msgid "update tracked files"
 msgstr "cập nhật các tập tin được theo vết"
 
-#: builtin/add.c:327
+#: builtin/add.c:285
 msgid "record only the fact that the path will be added later"
 msgstr "chỉ ghi lại sự việc mà đường dẫn sẽ được thêm vào sau"
 
-#: builtin/add.c:328
+#: builtin/add.c:286
 msgid "add changes from all tracked and untracked files"
 msgstr ""
 "thêm các thay đổi từ tất cả các tập tin có cũng như không được theo dõi dấu "
 "vết"
 
-#: builtin/add.c:329
+#: builtin/add.c:287
 msgid "don't add, only refresh the index"
 msgstr "không thêm, chỉ làm tươi mới bảng mục lục"
 
-#: builtin/add.c:330
+#: builtin/add.c:288
 msgid "just skip files which cannot be added because of errors"
 msgstr "chie bỏ qua những tập tin mà nó không thể được thêm vào bởi vì gặp lỗi"
 
-#: builtin/add.c:331
+#: builtin/add.c:289
 msgid "check if - even missing - files are ignored in dry run"
 msgstr ""
 "kiểm tra xem - thậm chí thiếu - tập tin bị bỏ qua trong quá trình chạy thử"
 
-#: builtin/add.c:353
+#: builtin/add.c:311
 #, c-format
 msgid "Use -f if you really want to add them.\n"
 msgstr "Sử dụng tùy chọn -f nếu bạn thực sự muốn thêm chúng vào.\n"
 
-#: builtin/add.c:354
+#: builtin/add.c:312
 msgid "no files added"
 msgstr "chưa có tập tin nào được thêm vào"
 
-#: builtin/add.c:360
+#: builtin/add.c:318
 msgid "adding files failed"
 msgstr "thêm tập tin gặp lỗi"
 
-#: builtin/add.c:392
+#.
+#. * To be consistent with "git add -p" and most Git
+#. * commands, we should default to being tree-wide, but
+#. * this is not the original behavior and can't be
+#. * changed until users trained themselves not to type
+#. * "git add -u" or "git add -A". For now, we warn and
+#. * keep the old behavior. Later, the behavior can be changed
+#. * to tree-wide, keeping the warning for a while, and
+#. * eventually we can drop the warning.
+#.
+#: builtin/add.c:335
+#, c-format
+msgid ""
+"The behavior of 'git add %s (or %s)' with no path argument from a\n"
+"subdirectory of the tree will change in Git 2.0 and should not be used "
+"anymore.\n"
+"To add content for the whole tree, run:\n"
+"\n"
+"  git add %s :/\n"
+"  (or git add %s :/)\n"
+"\n"
+"To restrict the command to the current directory, run:\n"
+"\n"
+"  git add %s .\n"
+"  (or git add %s .)\n"
+"\n"
+"With the current Git version, the command is restricted to the current "
+"directory."
+msgstr ""
+"Cách ứng xử của lệnh “git add %s (hay %s)” khi không có tham số đường dẫn "
+"từ\n"
+"thư-mục con của cây sẽ thay đổi kể từ Git 2.0 và không thể sử dụng như thế "
+"nữa.\n"
+"Để thêm nội dung cho toàn bộ cây, chạy:\n"
+"\n"
+"  git add %s :/\n"
+"  (hay git add %s :/)\n"
+"\n"
+"Để hạn chế lệnh cho thư-mục hiện tại, chạy:\n"
+"\n"
+"  git add %s .\n"
+"  (hay git add %s .)\n"
+"\n"
+"Với phiên bản hiện tại của Git, lệnh bị hạn chế cho thư-mục hiện tại."
+
+#: builtin/add.c:381
 msgid "-A and -u are mutually incompatible"
 msgstr "-A và -u xung khắc nhau"
 
-#: builtin/add.c:394
+#: builtin/add.c:383
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr "Tùy chọn --ignore-missing chỉ có thể được dùng cùng với --dry-run"
 
@@ -1568,12 +1738,12 @@ msgstr "Không có gì được chỉ ra, không có gì được thêm vào.\n"
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "Có lẽ bạn muốn là “git add .” phải không?\n"
 
-#: builtin/add.c:421 builtin/clean.c:95 builtin/commit.c:291 builtin/mv.c:82
-#: builtin/rm.c:235
+#: builtin/add.c:421 builtin/check-ignore.c:67 builtin/clean.c:204
+#: builtin/commit.c:293 builtin/mv.c:82 builtin/rm.c:235
 msgid "index file corrupt"
 msgstr "tập tin ghi bảng mục lục bị hỏng"
 
-#: builtin/add.c:481 builtin/apply.c:4450 builtin/mv.c:229 builtin/rm.c:370
+#: builtin/add.c:481 builtin/apply.c:4505 builtin/mv.c:229 builtin/rm.c:370
 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"
 
@@ -1626,19 +1796,19 @@ msgstr "git apply: git-diff sai - tên tập tin cũ mâu thuấn trên dòng %d
 #: builtin/apply.c:957
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
-msgstr "git apply: git-diff sai - mong đợi /dev/null trên dòng %d"
+msgstr "git apply: git-diff sai - cần /dev/null trên dòng %d"
 
-#: builtin/apply.c:1420
+#: builtin/apply.c:1422
 #, c-format
 msgid "recount: unexpected line: %.*s"
-msgstr "chi tiết: dòng không được mong đợi: %.*s"
+msgstr "chi tiết: dòng không cần: %.*s"
 
-#: builtin/apply.c:1477
+#: builtin/apply.c:1479
 #, 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:1494
+#: builtin/apply.c:1496
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -1653,82 +1823,78 @@ 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:1654
+#: builtin/apply.c:1656
 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:1656
+#: builtin/apply.c:1658
 msgid "deleted file still has contents"
 msgstr "tập tin đã xóa vẫn còn nội dung"
 
-#: builtin/apply.c:1682
+#: builtin/apply.c:1684
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "miếng vá hỏng tại dòng %d"
 
-#: builtin/apply.c:1718
+#: builtin/apply.c:1720
 #, 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:1720
+#: builtin/apply.c:1722
 #, 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:1723
+#: builtin/apply.c:1725
 #, 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:1869
+#: builtin/apply.c:1871
 #, 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"
 
 #. there has to be one hunk (forward hunk)
-#: builtin/apply.c:1898
+#: builtin/apply.c:1900
 #, 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:1984
+#: builtin/apply.c:1986
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "vá chỉ với “garbage” tại dòng %d"
 
-#: builtin/apply.c:2074
+#: builtin/apply.c:2076
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "không thể đọc liên kết tượng trưng %s"
 
-#: builtin/apply.c:2078
+#: builtin/apply.c:2080
 #, c-format
 msgid "unable to open or read %s"
-msgstr "không thể mở để đọc hay ghi %s"
+msgstr "không thể mở hay đọc %s"
 
-#: builtin/apply.c:2149
-msgid "oops"
-msgstr "ôi?"
-
-#: builtin/apply.c:2671
+#: builtin/apply.c:2688
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "sai khởi đầu dòng: “%c”"
 
-#: builtin/apply.c:2789
+#: builtin/apply.c:2806
 #, 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:2801
+#: builtin/apply.c:2818
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "Nội dung bị giảm xuống (%ld/%ld) để áp dụng mảnh dữ liệu tại %d"
 
-#: builtin/apply.c:2807
+#: builtin/apply.c:2824
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -1737,325 +1903,325 @@ msgstr ""
 "Trong khi đang tìm kiếm cho:\n"
 "%.*s"
 
-#: builtin/apply.c:2826
+#: builtin/apply.c:2843
 #, 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:2929
+#: builtin/apply.c:2946
 #, 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:2935
+#: builtin/apply.c:2952
 #, 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:2956
+#: builtin/apply.c:2973
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "vá gặp lỗi: %s:%ld"
 
-#: builtin/apply.c:3078
+#: builtin/apply.c:3095
 #, c-format
 msgid "cannot checkout %s"
 msgstr "không thể \"checkout\" %s"
 
-#: builtin/apply.c:3123 builtin/apply.c:3132 builtin/apply.c:3176
+#: builtin/apply.c:3140 builtin/apply.c:3149 builtin/apply.c:3193
 #, c-format
 msgid "read of %s failed"
 msgstr "đọc %s gặp lỗi"
 
-#: builtin/apply.c:3156 builtin/apply.c:3378
+#: builtin/apply.c:3173 builtin/apply.c:3395
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "đường dẫn %s đã bị xóa/đổi tên"
 
-#: builtin/apply.c:3237 builtin/apply.c:3392
+#: builtin/apply.c:3254 builtin/apply.c:3409
 #, 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:3241 builtin/apply.c:3384 builtin/apply.c:3406
+#: builtin/apply.c:3258 builtin/apply.c:3401 builtin/apply.c:3423
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: builtin/apply.c:3246 builtin/apply.c:3400
+#: builtin/apply.c:3263 builtin/apply.c:3417
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s: không khớp trong mục lục"
 
-#: builtin/apply.c:3348
+#: builtin/apply.c:3365
 msgid "removal patch leaves file contents"
 msgstr "loại bỏ miếng vá để lại nội dung tập tin"
 
-#: builtin/apply.c:3417
+#: builtin/apply.c:3434
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s: sai kiểu"
 
-#: builtin/apply.c:3419
+#: builtin/apply.c:3436
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s có kiểu %o, mong chờ %o"
 
-#: builtin/apply.c:3520
+#: builtin/apply.c:3537
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s: đã có từ trước trong bảng mục lục"
 
-#: builtin/apply.c:3523
+#: builtin/apply.c:3540
 #, 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:3543
+#: builtin/apply.c:3560
 #, 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:3548
+#: builtin/apply.c:3565
 #, 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:3556
+#: builtin/apply.c:3573
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: miếng vá không được áp dụng"
 
-#: builtin/apply.c:3569
+#: builtin/apply.c:3586
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Đang kiểm tra miếng vá %s..."
 
-#: builtin/apply.c:3624 builtin/checkout.c:215 builtin/reset.c:158
+#: builtin/apply.c:3679 builtin/checkout.c:215 builtin/reset.c:124
 #, 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:3767
+#: builtin/apply.c:3822
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "không thể gỡ bỏ %s từ mục lục"
 
-#: builtin/apply.c:3795
+#: builtin/apply.c:3850
 #, c-format
 msgid "corrupt patch for subproject %s"
 msgstr "miếng vá sai hỏng cho dự án con (subproject) %s"
 
-#: builtin/apply.c:3799
+#: builtin/apply.c:3854
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "không thể lấy trạng thái về tập tin %s mới hơn đã được tạo"
 
-#: builtin/apply.c:3804
+#: builtin/apply.c:3859
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "không thể tạo “backing store” cho tập tin được tạo mới hơn %s"
 
-#: builtin/apply.c:3807 builtin/apply.c:3915
+#: builtin/apply.c:3862 builtin/apply.c:3970
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "không thể thêm mục nhớ tạm cho %s"
 
-#: builtin/apply.c:3840
+#: builtin/apply.c:3895
 #, c-format
 msgid "closing file '%s'"
 msgstr "đang đóng tập tin “%s”"
 
-#: builtin/apply.c:3889
+#: builtin/apply.c:3944
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "không thể ghi vào tập tin “%s” chế độ (mode) %o"
 
-#: builtin/apply.c:3976
+#: builtin/apply.c:4031
 #, 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:3984
+#: builtin/apply.c:4039
 msgid "internal error"
 msgstr "lỗi nội bộ"
 
 #. Say this even without --verbose
-#: builtin/apply.c:3987
+#: builtin/apply.c:4042
 #, 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:3997
+#: builtin/apply.c:4052
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "đang cắt cụt tên tập tin .rej thành %.*s.rej"
 
-#: builtin/apply.c:4018
+#: builtin/apply.c:4073
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Khối nhớ #%d được áp dụng gọn gàng."
 
-#: builtin/apply.c:4021
+#: builtin/apply.c:4076
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "hunk #%d bị từ chối."
 
-#: builtin/apply.c:4171
+#: builtin/apply.c:4226
 msgid "unrecognized input"
 msgstr "không thừa nhận đầu vào"
 
-#: builtin/apply.c:4182
+#: builtin/apply.c:4237
 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:4301 builtin/apply.c:4304 builtin/clone.c:91
+#: builtin/apply.c:4356 builtin/apply.c:4359 builtin/clone.c:92
 #: builtin/fetch.c:63
 msgid "path"
 msgstr "đường-dẫn"
 
-#: builtin/apply.c:4302
+#: builtin/apply.c:4357
 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:4305
+#: builtin/apply.c:4360
 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:4307
+#: builtin/apply.c:4362
 msgid "num"
 msgstr "số"
 
-#: builtin/apply.c:4308
+#: builtin/apply.c:4363
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "gỡ bỏ <số> phần dẫn đầu (slashe) từ đường dẫn diff cổ điển"
 
-#: builtin/apply.c:4311
+#: builtin/apply.c:4366
 msgid "ignore additions made by the patch"
 msgstr "lờ đi phần phụ thêm tạo ra bởi miếng vá"
 
-#: builtin/apply.c:4313
+#: builtin/apply.c:4368
 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:4317
+#: builtin/apply.c:4372
 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:4319
+#: builtin/apply.c:4374
 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:4321
+#: builtin/apply.c:4376
 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:4323
+#: builtin/apply.c:4378
 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:4325
+#: builtin/apply.c:4380
 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:4327
+#: builtin/apply.c:4382
 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:4329
+#: builtin/apply.c:4384
 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:4331
+#: builtin/apply.c:4386
 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:4333 builtin/checkout-index.c:197 builtin/ls-files.c:460
+#: builtin/apply.c:4388 builtin/checkout-index.c:197 builtin/ls-files.c:463
 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:4336
+#: builtin/apply.c:4391
 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:4337
+#: builtin/apply.c:4392
 msgid "action"
 msgstr "hành động"
 
-#: builtin/apply.c:4338
+#: builtin/apply.c:4393
 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:4341 builtin/apply.c:4344
+#: builtin/apply.c:4396 builtin/apply.c:4399
 msgid "ignore changes in whitespace when finding context"
 msgstr "lờ đi sự thay đổi do khoảng trắng khi quét nội dung"
 
-#: builtin/apply.c:4347
+#: builtin/apply.c:4402
 msgid "apply the patch in reverse"
 msgstr "áp dụng miếng vá theo chiều ngược"
 
-#: builtin/apply.c:4349
+#: builtin/apply.c:4404
 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:4351
+#: builtin/apply.c:4406
 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:4353
+#: builtin/apply.c:4408
 msgid "allow overlapping hunks"
 msgstr "cho phép chồng khối nhớ"
 
-#: builtin/apply.c:4356
+#: builtin/apply.c:4411
 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:4359
+#: builtin/apply.c:4414
 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:4361
+#: builtin/apply.c:4416
 msgid "root"
 msgstr "root"
 
-#: builtin/apply.c:4362
+#: builtin/apply.c:4417
 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:4384
+#: builtin/apply.c:4439
 msgid "--3way outside a repository"
 msgstr "--3way ở ngoài một kho chứa"
 
-#: builtin/apply.c:4392
+#: builtin/apply.c:4447
 msgid "--index outside a repository"
 msgstr "--index ở ngoài một kho chứa"
 
-#: builtin/apply.c:4395
+#: builtin/apply.c:4450
 msgid "--cached outside a repository"
 msgstr "--cached ở ngoài một kho chứa"
 
-#: builtin/apply.c:4411
+#: builtin/apply.c:4466
 #, c-format
 msgid "can't open patch '%s'"
 msgstr "không thể mở miếng vá “%s”"
 
-#: builtin/apply.c:4425
+#: builtin/apply.c:4480
 #, 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:4431 builtin/apply.c:4441
+#: builtin/apply.c:4486 builtin/apply.c:4496
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
@@ -2079,21 +2245,21 @@ msgstr "git archive: Máy chủ không có địa chỉ URL"
 msgid "git archive: expected ACK/NAK, got EOF"
 msgstr "git archive: mong đợi ACK/NAK, nhận EOF"
 
-#: builtin/archive.c:63
+#: builtin/archive.c:61
 #, c-format
 msgid "git archive: NACK %s"
 msgstr "git archive: NACK %s"
 
-#: builtin/archive.c:65
+#: builtin/archive.c:63
 #, c-format
 msgid "remote error: %s"
 msgstr "lỗi máy chủ: %s"
 
-#: builtin/archive.c:66
+#: builtin/archive.c:64
 msgid "git archive: protocol error"
 msgstr "git archive: lỗi giao thức"
 
-#: builtin/archive.c:71
+#: builtin/archive.c:68
 msgid "git archive: expected a flush"
 msgstr "git archive: đã mong chờ một flush"
 
@@ -2119,117 +2285,117 @@ msgstr "git blame [các-tùy-chọn] [rev-opts] [rev] [--] tập-tin"
 msgid "[rev-opts] are documented in git-rev-list(1)"
 msgstr "[rev-opts] được mô tả trong git-rev-list(1)"
 
-#: builtin/blame.c:2374
+#: builtin/blame.c:2350
 msgid "Show blame entries as we find them, incrementally"
 msgstr "Hiển thị các mục “blame” như là chúng ta thấy chúng, tăng dần"
 
-#: builtin/blame.c:2375
+#: builtin/blame.c:2351
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr ""
 "Hiển thị SHA-1 trắng cho những lần chuyển giao biên giới (Mặc định: off)"
 
-#: builtin/blame.c:2376
+#: builtin/blame.c:2352
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "Không coi các lần chuyển giao gốc là giới hạn (Mặc định: off)"
 
-#: builtin/blame.c:2377
+#: builtin/blame.c:2353
 msgid "Show work cost statistics"
 msgstr "Hiển thị thống kê công sức làm việc"
 
-#: builtin/blame.c:2378
+#: builtin/blame.c:2354
 msgid "Show output score for blame entries"
 msgstr "Hiển thị kết xuất điểm số có các mục tin “blame”"
 
-#: builtin/blame.c:2379
+#: builtin/blame.c:2355
 msgid "Show original filename (Default: auto)"
 msgstr "Hiển thị tên tập tin gốc (Mặc định: auto)"
 
-#: builtin/blame.c:2380
+#: builtin/blame.c:2356
 msgid "Show original linenumber (Default: off)"
 msgstr "Hiển thị số dòng gốc (Mặc định: off)"
 
-#: builtin/blame.c:2381
+#: builtin/blame.c:2357
 msgid "Show in a format designed for machine consumption"
 msgstr "Hiển thị ở định dạng đã thiết kế cho sự tiêu dùng bằng máy"
 
-#: builtin/blame.c:2382
+#: builtin/blame.c:2358
 msgid "Show porcelain format with per-line commit information"
 msgstr "Hiển thị định dạng “porcelain” với thông tin chuyển giao mỗi dòng"
 
-#: builtin/blame.c:2383
+#: builtin/blame.c:2359
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "Dùng cùng chế độ xuất ra vóigit-annotate (Mặc định: off)"
 
-#: builtin/blame.c:2384
+#: builtin/blame.c:2360
 msgid "Show raw timestamp (Default: off)"
 msgstr "Hiển thị dấu vết thời gian dạng thô (Mặc định: off)"
 
-#: builtin/blame.c:2385
+#: builtin/blame.c:2361
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Hiển thị SHA1 của lần chuyển giao (commit) dạng dài (Mặc định: off)"
 
-#: builtin/blame.c:2386
+#: builtin/blame.c:2362
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "Không hiển thị tên tác giả và dấu vết thời gian (Mặc định: off)"
 
-#: builtin/blame.c:2387
+#: builtin/blame.c:2363
 msgid "Show author email instead of name (Default: off)"
 msgstr "Hiển thị thư điện tử của tác giả thay vì tên (Mặc định: off)"
 
-#: builtin/blame.c:2388
+#: builtin/blame.c:2364
 msgid "Ignore whitespace differences"
 msgstr "Bỏ qua các khác biệt do khoảng trắng gây ra"
 
-#: builtin/blame.c:2389
+#: builtin/blame.c:2365
 msgid "Spend extra cycles to find better match"
 msgstr "Tiêu thụ thêm năng tài nguyên máy móc để tìm kiếm tốt hơn nữa"
 
-#: builtin/blame.c:2390
+#: builtin/blame.c:2366
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr ""
 "Sử dụng điểm xét duyệt (revision) từ <tập tin> thay vì gọi “git-rev-list”"
 
-#: builtin/blame.c:2391
+#: builtin/blame.c:2367
 msgid "Use <file>'s contents as the final image"
 msgstr "Sử dụng nội dung của <tập tin> như là ảnh cuối cùng"
 
-#: builtin/blame.c:2392 builtin/blame.c:2393
+#: builtin/blame.c:2368 builtin/blame.c:2369
 msgid "score"
 msgstr "điểm số"
 
-#: builtin/blame.c:2392
+#: builtin/blame.c:2368
 msgid "Find line copies within and across files"
 msgstr "Tìm các bản sao chép dòng trong và ngang qua tập tin"
 
-#: builtin/blame.c:2393
+#: builtin/blame.c:2369
 msgid "Find line movements within and across files"
 msgstr "Tìm các di chuyển dòng trong và ngang qua tập tin"
 
-#: builtin/blame.c:2394
+#: builtin/blame.c:2370
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2394
+#: builtin/blame.c:2370
 msgid "Process only line range n,m, counting from 1"
 msgstr "Xử lý chỉ dòng vùng n,m, tính từ 1"
 
-#: builtin/branch.c:23
+#: builtin/branch.c:24
 msgid "git branch [options] [-r | -a] [--merged | --no-merged]"
 msgstr "git branch [các-tùy-chọn] [-r | -a] [--merged | --no-merged]"
 
-#: builtin/branch.c:24
+#: builtin/branch.c:25
 msgid "git branch [options] [-l] [-f] <branchname> [<start-point>]"
 msgstr "git branch [các-tùy-chọn] [-l] [-f] <tên-nhánh> [<điểm-đầu>]"
 
-#: builtin/branch.c:25
+#: builtin/branch.c:26
 msgid "git branch [options] [-r] (-d | -D) <branchname>..."
 msgstr "git branch [các-tùy-chọn] [-r] (-d | -D) <tên-nhánh> ..."
 
-#: builtin/branch.c:26
+#: builtin/branch.c:27
 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:145
+#: builtin/branch.c:146
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
@@ -2238,7 +2404,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:149
+#: builtin/branch.c:150
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
@@ -2247,12 +2413,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:163
+#: builtin/branch.c:164
 #, 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 (commit) cho “%s”"
 
-#: builtin/branch.c:167
+#: builtin/branch.c:168
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
@@ -2261,252 +2427,333 @@ 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:180
+#: builtin/branch.c:181
 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:208
+#: builtin/branch.c:209
 msgid "cannot use -a with -d"
 msgstr "không thể dùng tùy chọn -a với -d"
 
-#: builtin/branch.c:214
+#: builtin/branch.c:215
 msgid "Couldn't look up commit object for HEAD"
 msgstr "Không thể tìm kiếm đối tượng chuyển giao (commit) cho HEAD"
 
-#: builtin/branch.c:222
+#: builtin/branch.c:223
 #, 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:235
+#: builtin/branch.c:236
 #, c-format
 msgid "remote branch '%s' not found."
 msgstr "không tìm thấy nhánh máy chủ “%s”."
 
-#: builtin/branch.c:236
+#: builtin/branch.c:237
 #, c-format
 msgid "branch '%s' not found."
 msgstr "không tìm thấy nhánh “%s”."
 
-#: builtin/branch.c:250
+#: builtin/branch.c:251
 #, c-format
 msgid "Error deleting remote branch '%s'"
-msgstr "Gặp lỗi khi đang xóa nhánh máy chủ “%s”"
+msgstr "Gặp lỗi khi đang xóa nhánh trên máy chủ “%s”"
 
-#: builtin/branch.c:251
+#: builtin/branch.c:252
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr "Lỗi khi xoá bỏ nhánh “%s”"
 
-#: builtin/branch.c:258
+#: builtin/branch.c:259
 #, c-format
 msgid "Deleted remote branch %s (was %s).\n"
-msgstr "Nhánh máy chủ \"%s\" đã bị xóa (từng là %s).\n"
+msgstr "Nhánh trên máy chủ \"%s\" đã bị xóa (từng là %s).\n"
 
-#: builtin/branch.c:259
+#: builtin/branch.c:260
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr "Nhánh “%s” đã bị xóa (từng là %s)\n"
 
-#: builtin/branch.c:361
+#: builtin/branch.c:362
 #, 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 (commit) nào cả"
 
-#: builtin/branch.c:433
+#: builtin/branch.c:434
 #, c-format
 msgid "[%s: behind %d]"
 msgstr "[%s: đằng sau %d]"
 
-#: builtin/branch.c:435
+#: builtin/branch.c:436
 #, c-format
 msgid "[behind %d]"
 msgstr "[đằng sau %d]"
 
-#: builtin/branch.c:439
+#: builtin/branch.c:440
 #, c-format
 msgid "[%s: ahead %d]"
 msgstr "[%s: phía trước %d]"
 
-#: builtin/branch.c:441
+#: builtin/branch.c:442
 #, c-format
 msgid "[ahead %d]"
 msgstr "[phía trước %d]"
 
-#: builtin/branch.c:444
+#: builtin/branch.c:445
 #, c-format
 msgid "[%s: ahead %d, behind %d]"
 msgstr "[%s: trước %d, sau %d]"
 
-#: builtin/branch.c:447
+#: builtin/branch.c:448
 #, c-format
 msgid "[ahead %d, behind %d]"
 msgstr "[trước %d, sau %d]"
 
-#: builtin/branch.c:560
+#: builtin/branch.c:470
+msgid " **** invalid ref ****"
+msgstr " **** tham chiếu sai ****"
+
+#: builtin/branch.c:562
+#, c-format
+msgid "(no branch, rebasing %s)"
+msgstr "(không nhánh, đang rebase %s)"
+
+#: builtin/branch.c:565
+#, c-format
+msgid "(no branch, bisect started on %s)"
+msgstr "(không nhánh, bisect được bắt đầu tại %s)"
+
+#: builtin/branch.c:568
+#, c-format
+msgid "(detached from %s)"
+msgstr "(được tách rời từ %s)"
+
+#: builtin/branch.c:571
 msgid "(no branch)"
 msgstr "(không nhánh)"
 
-#: builtin/branch.c:625
+#: builtin/branch.c:617
+#, 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 (commit) nào cả"
+
+#: builtin/branch.c:649
 msgid "some refs could not be read"
 msgstr "một số tham chiếu đã không thể đọc được"
 
-#: builtin/branch.c:638
+#: builtin/branch.c:662
 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:648
+#: builtin/branch.c:672
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Sai tên nhánh: “%s”"
 
-#: builtin/branch.c:663
+#: builtin/branch.c:687
 msgid "Branch rename failed"
 msgstr "Đổi tên nhánh gặp lỗi"
 
-#: builtin/branch.c:667
+#: builtin/branch.c:691
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Đã đổi tên nhánh khuyết danh “%s” đi"
 
-#: builtin/branch.c:671
+#: builtin/branch.c:695
 #, 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:678
+#: builtin/branch.c:702
 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:693
+#: builtin/branch.c:717
 #, c-format
 msgid "malformed object name %s"
 msgstr "tên đối tượng dị hình %s"
 
-#: builtin/branch.c:717
+#: builtin/branch.c:741
 #, 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:747
+#: builtin/branch.c:771
 msgid "Generic options"
 msgstr "Tùy chọn chung"
 
-#: builtin/branch.c:749
+#: builtin/branch.c:773
 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:750
+#: builtin/branch.c:774
 msgid "suppress informational messages"
 msgstr "Thu hồi các thông điệp thông tin"
 
-#: builtin/branch.c:751
+#: builtin/branch.c:775
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "cài đặt chế độ theo vết (xem git-pull(1))"
 
-#: builtin/branch.c:753
+#: builtin/branch.c:777
 msgid "change upstream info"
 msgstr "thay đổi thông tin thượng nguồn (upstream)"
 
-#: builtin/branch.c:757
+#: builtin/branch.c:781
 msgid "use colored output"
 msgstr "sử dụng kết xuất có tô màu"
 
-#: builtin/branch.c:758
+#: builtin/branch.c:782
 msgid "act on remote-tracking branches"
 msgstr "thao tác trên nhánh “remote-tracking”"
 
-#: builtin/branch.c:761 builtin/branch.c:767 builtin/branch.c:788
-#: builtin/branch.c:794 builtin/commit.c:1376 builtin/commit.c:1377
-#: builtin/commit.c:1378 builtin/commit.c:1379 builtin/tag.c:470
+#: builtin/branch.c:785 builtin/branch.c:791 builtin/branch.c:812
+#: builtin/branch.c:818 builtin/commit.c:1368 builtin/commit.c:1369
+#: builtin/commit.c:1370 builtin/commit.c:1371 builtin/tag.c:468
 msgid "commit"
 msgstr "commit"
 
-#: builtin/branch.c:762 builtin/branch.c:768
+#: builtin/branch.c:786 builtin/branch.c:792
 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:774
+#: builtin/branch.c:798
 msgid "Specific git-branch actions:"
 msgstr "Hành động git-branch:"
 
-#: builtin/branch.c:775
+#: builtin/branch.c:799
 msgid "list both remote-tracking and local branches"
 msgstr "liệt kê cả nhánh “remote-tracking” và nội bộ"
 
-#: builtin/branch.c:777
+#: builtin/branch.c:801
 msgid "delete fully merged branch"
 msgstr "xóa một cách đầy đủ nhánh đã hòa trộn"
 
-#: builtin/branch.c:778
+#: builtin/branch.c:802
 msgid "delete branch (even if not merged)"
 msgstr "xoá nhánh (cho dù là chưa được hòa trộn)"
 
-#: builtin/branch.c:779
+#: builtin/branch.c:803
 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:780
+#: builtin/branch.c:804
 msgid "move/rename a branch, even if target exists"
 msgstr "di chuyển hoặc đổi tên một nhánh, thậm chí cả khi đích đã có sẵn"
 
-#: builtin/branch.c:781
+#: builtin/branch.c:805
 msgid "list branch names"
 msgstr "liệt kê các tên nhánh"
 
-#: builtin/branch.c:782
+#: builtin/branch.c:806
 msgid "create the branch's reflog"
 msgstr "tạo reflog của nhánh"
 
-#: builtin/branch.c:784
+#: builtin/branch.c:808
 msgid "edit the description for the branch"
 msgstr "sửa mô tả cho nhánh"
 
-#: builtin/branch.c:785
+#: builtin/branch.c:809
 msgid "force creation (when already exists)"
 msgstr "ép buộc tạo (khi đã sẵn tồn tại rồi)"
 
-#: builtin/branch.c:788
+#: builtin/branch.c:812
 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:794
+#: builtin/branch.c:818
 msgid "print only merged branches"
 msgstr "chỉ hiển thị các nhánh được hòa trộn"
 
-#: builtin/branch.c:798
+#: builtin/branch.c:822
 msgid "list branches in columns"
 msgstr "liệt kê các nhánh trong các cột"
 
-#: builtin/branch.c:811
+#: builtin/branch.c:835
 msgid "Failed to resolve HEAD as a valid ref."
-msgstr "Gặp lỗi khi giải quyết 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 (ref) hợp lệ."
 
-#: builtin/branch.c:816 builtin/clone.c:561
+#: builtin/branch.c:840 builtin/clone.c:609
 msgid "HEAD not found below refs/heads!"
 msgstr "không tìm thấy HEAD ở dưới refs/heads!"
 
-#: builtin/branch.c:836
+#: builtin/branch.c:863
 msgid "--column and --verbose are incompatible"
 msgstr "--column và --verbose xung khắc nhau"
 
-#: builtin/branch.c:887
+#: builtin/branch.c:869 builtin/branch.c:908
+msgid "branch name required"
+msgstr "cần tên nhánh"
+
+#: builtin/branch.c:884
+msgid "Cannot give description to detached HEAD"
+msgstr "Không thể đưa ra mô tả HEAD đã tách rời"
+
+#: builtin/branch.c:889
+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:896
+#, 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:899
+#, c-format
+msgid "No branch named '%s'."
+msgstr "Không có nhánh nào có tên “%s”."
+
+#: builtin/branch.c:914
+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:919
+msgid "too many branches to set new upstream"
+msgstr "quá nhiều nhánh được đặt cho dòng ngược (upstream) mới"
+
+#: builtin/branch.c:923
+#, c-format
+msgid ""
+"could not set upstream of HEAD to %s when it does not point to any branch."
+msgstr ""
+"không thể đặt dòng ngược (upstream) của HEAD thành %s khi mà nó chẳng chỉ "
+"đến nhánh nào cả."
+
+#: builtin/branch.c:926 builtin/branch.c:948 builtin/branch.c:970
+#, c-format
+msgid "no such branch '%s'"
+msgstr "không có nhánh nào như thế “%s”"
+
+#: builtin/branch.c:930
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "nhánh “%s” chưa sẵn có"
 
-#: builtin/branch.c:899
+#: builtin/branch.c:942
+msgid "too many branches to unset upstream"
+msgstr "quá nhiều nhánh để bỏ đặt ngược dòng (upstream)"
+
+#: builtin/branch.c:946
+msgid "could not unset upstream of HEAD when it does not point to any branch."
+msgstr ""
+"không thể bỏ đặt ngược dòng (upstream) của HEAD không chỉ đến một nhánh nào "
+"cả."
+
+#: builtin/branch.c:952
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "Nhánh “%s” không có thông tin thượng nguồn (upstream)"
 
-#: builtin/branch.c:914
+#: builtin/branch.c:967
+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:973
 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:917
+#: builtin/branch.c:976
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -2515,7 +2762,7 @@ msgstr ""
 "Cờ --set-upstream bị phản đối và sẽ bị xóa bỏ. Nên dùng --track hoặc --set-"
 "upstream-to\n"
 
-#: builtin/branch.c:934
+#: builtin/branch.c:993
 #, c-format
 msgid ""
 "\n"
@@ -2526,12 +2773,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:935
+#: builtin/branch.c:994
 #, c-format
 msgid "    git branch -d %s\n"
 msgstr "    git branch -d %s\n"
 
-#: builtin/branch.c:936
+#: builtin/branch.c:995
 #, c-format
 msgid "    git branch --set-upstream-to %s\n"
 msgstr "    git branch --set-upstream-to %s\n"
@@ -2607,14 +2854,38 @@ 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ỉ sử dụng .gitattributes từ bảng mục lục"
 
-#: builtin/check-attr.c:21 builtin/hash-object.c:75
+#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:75
 msgid "read file names from stdin"
 msgstr "đọc tên tập tin từ đầu vào tiêu chuẩn"
 
-#: builtin/check-attr.c:23
+#: builtin/check-attr.c:23 builtin/check-ignore.c:24
 msgid "input paths are terminated by a null character"
 msgstr "các đường dẫn được  ngăn cách bởi ký tự null"
 
+#: builtin/check-ignore.c:18 builtin/checkout.c:1041 builtin/gc.c:177
+msgid "suppress progress reporting"
+msgstr "chặn các báo cáo tiến trình hoạt động"
+
+#: builtin/check-ignore.c:151
+msgid "cannot specify pathnames with --stdin"
+msgstr "không thể chỉ định các tên đường dẫn với --stdin"
+
+#: builtin/check-ignore.c:154
+msgid "-z only makes sense with --stdin"
+msgstr "-z chỉ hợp lý với --stdin"
+
+#: builtin/check-ignore.c:156
+msgid "no path specified"
+msgstr "chưa ghi rõ đường dẫn"
+
+#: builtin/check-ignore.c:160
+msgid "--quiet is only valid with a single pathname"
+msgstr "--quiet chỉ hợp lệ với tên đường dẫn đơn"
+
+#: builtin/check-ignore.c:162
+msgid "cannot have both --quiet and --verbose"
+msgstr "không thể dùng cả hai tùy chọn --quiet và --verbose"
+
 #: builtin/checkout-index.c:126
 msgid "git checkout-index [options] [--] [<file>...]"
 msgstr "git checkout-index [các-tùy-chọn] [--] [<tập-tin>...]"
@@ -2715,60 +2986,60 @@ msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr ""
 "Không thể cập nhật các đường dẫn và chuyển đến nhánh “%s” cùng một lúc."
 
-#: builtin/checkout.c:265 builtin/checkout.c:426
+#: builtin/checkout.c:265 builtin/checkout.c:455
 msgid "corrupt index file"
 msgstr "tập tin ghi bảng mục lục bị hỏng"
 
-#: builtin/checkout.c:295 builtin/checkout.c:302
+#: builtin/checkout.c:326 builtin/checkout.c:333
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "đường dẫn “%s” không được hòa trộn"
 
-#: builtin/checkout.c:448
+#: builtin/checkout.c:477
 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 đã!"
+msgstr "bạn cần phải phân giải bảng mục lục hiện tại của bạn trước đã"
 
-#: builtin/checkout.c:569
+#: builtin/checkout.c:598
 #, 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:602
+#: builtin/checkout.c:631
 msgid "HEAD is now at"
 msgstr "HEAD hiện giờ tại"
 
-#: builtin/checkout.c:609
+#: builtin/checkout.c:638
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:612
+#: builtin/checkout.c:641
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Đã sẵn sàng trên “%s”\n"
 
-#: builtin/checkout.c:616
+#: builtin/checkout.c:645
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Đã chuyển tới và reset nhánh “%s”\n"
 
-#: builtin/checkout.c:618 builtin/checkout.c:955
+#: builtin/checkout.c:647 builtin/checkout.c:984
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Đã chuyển đến nhánh mới “%s”\n"
 
-#: builtin/checkout.c:620
+#: builtin/checkout.c:649
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Đã chuyển đến nhánh “%s”\n"
 
-#: builtin/checkout.c:676
+#: builtin/checkout.c:705
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... và nhiều hơn %d.\n"
 
 #. The singular version
-#: builtin/checkout.c:682
+#: builtin/checkout.c:711
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -2793,7 +3064,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:700
+#: 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"
@@ -2809,138 +3080,134 @@ msgstr ""
 " git branch tên_nhánh_mới %s\n"
 "\n"
 
-#: builtin/checkout.c:730
+#: 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 lại"
 
-#: builtin/checkout.c:734
+#: builtin/checkout.c:763
 msgid "Previous HEAD position was"
 msgstr "Vị trí kế trước của HEAD là"
 
-#: builtin/checkout.c:761 builtin/checkout.c:950
+#: builtin/checkout.c:790 builtin/checkout.c:979
 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"
 
 #. case (1)
-#: builtin/checkout.c:886
+#: builtin/checkout.c:915
 #, c-format
 msgid "invalid reference: %s"
 msgstr "tham chiếu sai: %s"
 
 #. case (1): want a tree
-#: builtin/checkout.c:925
+#: builtin/checkout.c:954
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "tham chiếu không phải là một cây (tree):%s"
 
-#: builtin/checkout.c:964
+#: builtin/checkout.c:993
 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:967 builtin/checkout.c:971
+#: builtin/checkout.c:996 builtin/checkout.c:1000
 #, 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:975 builtin/checkout.c:978 builtin/checkout.c:983
-#: builtin/checkout.c:986
+#: builtin/checkout.c:1004 builtin/checkout.c:1007 builtin/checkout.c:1012
+#: builtin/checkout.c:1015
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "“%s” không thể được sử dụng với “%s”"
 
-#: builtin/checkout.c:991
+#: builtin/checkout.c:1020
 #, 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:1012 builtin/gc.c:177
-msgid "suppress progress reporting"
-msgstr "chặn các báo cáo tiến trình hoạt động"
-
-#: builtin/checkout.c:1013 builtin/checkout.c:1015 builtin/clone.c:89
+#: builtin/checkout.c:1042 builtin/checkout.c:1044 builtin/clone.c:90
 #: builtin/remote.c:169 builtin/remote.c:171
 msgid "branch"
 msgstr "nhánh"
 
-#: builtin/checkout.c:1014
+#: builtin/checkout.c:1043
 msgid "create and checkout a new branch"
 msgstr "tạo và checkout một nhánh mới"
 
-#: builtin/checkout.c:1016
+#: builtin/checkout.c:1045
 msgid "create/reset and checkout a branch"
 msgstr "create/reset và checkout một nhánh"
 
-#: builtin/checkout.c:1017
+#: builtin/checkout.c:1046
 msgid "create reflog for new branch"
 msgstr "tạo reflog cho nhánh mới"
 
-#: builtin/checkout.c:1018
+#: builtin/checkout.c:1047
 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:1019
+#: builtin/checkout.c:1048
 msgid "set upstream info for new branch"
 msgstr "đặt thông tin thượng nguồn (upstream) cho nhánh mới"
 
-#: builtin/checkout.c:1021
+#: builtin/checkout.c:1050
 msgid "new branch"
 msgstr "nhánh mới"
 
-#: builtin/checkout.c:1021
+#: builtin/checkout.c:1050
 msgid "new unparented branch"
 msgstr "nhánh mồ côi mới"
 
-#: builtin/checkout.c:1022
+#: builtin/checkout.c:1051
 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:1024
+#: builtin/checkout.c:1053
 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:1026
+#: builtin/checkout.c:1055
 msgid "force checkout (throw away local modifications)"
 msgstr "ép buộc lấy ra (checkout) (bỏ đi những thay đổi nội bộ)"
 
-#: builtin/checkout.c:1027
+#: builtin/checkout.c:1056
 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:1028 builtin/merge.c:215
+#: builtin/checkout.c:1057 builtin/merge.c:217
 msgid "update ignored files (default)"
 msgstr "cập nhật các tập tin bị bỏ qua (mặc định)"
 
-#: builtin/checkout.c:1029 builtin/log.c:1116 parse-options.h:241
+#: builtin/checkout.c:1058 builtin/log.c:1149 parse-options.h:245
 msgid "style"
 msgstr "kiểu"
 
-#: builtin/checkout.c:1030
+#: builtin/checkout.c:1059
 msgid "conflict style (merge or diff3)"
 msgstr "xung đột kiểu (hòa trộn hay diff3)"
 
-#: builtin/checkout.c:1033
+#: builtin/checkout.c:1062
 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:1057
+#: builtin/checkout.c:1086
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "Tùy chọn -b|-B và --orphan loại từ lẫn nhau"
 
-#: builtin/checkout.c:1074
+#: builtin/checkout.c:1103
 msgid "--track needs a branch name"
 msgstr "--track cần tên một nhánh"
 
-#: builtin/checkout.c:1081
+#: builtin/checkout.c:1110
 msgid "Missing branch name; try -b"
 msgstr "Thiếu tên nhánh; hãy thử -b"
 
-#: builtin/checkout.c:1116
+#: builtin/checkout.c:1145
 msgid "invalid path specification"
 msgstr "đường dẫn đã cho không hợp lệ"
 
-#: builtin/checkout.c:1123
+#: builtin/checkout.c:1152
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -2950,12 +3217,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 (commit)?"
 
-#: builtin/checkout.c:1128
+#: builtin/checkout.c:1157
 #, 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:1132
+#: builtin/checkout.c:1161
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -2963,51 +3230,76 @@ msgstr ""
 "git checkout: --ours/--theirs, --force và --merge là xung khắc với nhau khi\n"
 "checkout bảng mục lục (index)."
 
-#: builtin/clean.c:19
+#: builtin/clean.c:20
 msgid "git clean [-d] [-f] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
 msgstr "git clean [-d] [-f] [-n] [-q] [-e <mẫu>] [-x | -X] [--] <đường-dẫn>..."
 
-#: builtin/clean.c:51
+#: builtin/clean.c:24
+#, c-format
+msgid "Removing %s\n"
+msgstr "Đang gỡ bỏ %s\n"
+
+#: builtin/clean.c:25
+#, c-format
+msgid "Would remove %s\n"
+msgstr "Có thể gỡ bỏ %s\n"
+
+#: builtin/clean.c:26
+#, c-format
+msgid "Skipping repository %s\n"
+msgstr "Đang bỏ qua kho chứa %s\n"
+
+#: builtin/clean.c:27
+#, c-format
+msgid "Would skip repository %s\n"
+msgstr "Nên bỏ qua kho chứa %s\n"
+
+#: builtin/clean.c:28
+#, c-format
+msgid "failed to remove %s"
+msgstr "gặp lỗi khi gỡ bỏ %s"
+
+#: builtin/clean.c:160
 msgid "do not print names of files removed"
 msgstr "không hiển thị tên của các tập tin đã gỡ bỏ"
 
-#: builtin/clean.c:53
+#: builtin/clean.c:162
 msgid "force"
 msgstr "ép buộc"
 
-#: builtin/clean.c:55
+#: builtin/clean.c:164
 msgid "remove whole directories"
 msgstr "gỡ bỏ toàn bộ thư mục"
 
-#: builtin/clean.c:56 builtin/describe.c:413 builtin/grep.c:717
-#: builtin/ls-files.c:491 builtin/name-rev.c:231 builtin/show-ref.c:182
+#: builtin/clean.c:165 builtin/describe.c:412 builtin/grep.c:717
+#: builtin/ls-files.c:494 builtin/name-rev.c:231 builtin/show-ref.c:182
 msgid "pattern"
 msgstr "mẫu"
 
-#: builtin/clean.c:57
+#: builtin/clean.c:166
 msgid "add <pattern> to ignore rules"
 msgstr "thêm <mẫu> vào trong qui tắc bỏ qua"
 
-#: builtin/clean.c:58
+#: builtin/clean.c:167
 msgid "remove ignored files, too"
 msgstr "đồng thời gỡ bỏ cả các tập tin bị bỏ qua"
 
-#: builtin/clean.c:60
+#: builtin/clean.c:169
 msgid "remove only ignored files"
 msgstr "chỉ gỡ bỏ những tập tin bị bỏ qua"
 
-#: builtin/clean.c:78
+#: builtin/clean.c:187
 msgid "-x and -X cannot be used together"
 msgstr "-x và -X không thể dùng cùng một lúc với nhau"
 
-#: builtin/clean.c:82
+#: builtin/clean.c:191
 msgid ""
 "clean.requireForce set to true and neither -n nor -f given; refusing to clean"
 msgstr ""
 "clean.requireForce được đặt thành true và không đưa ra tùy chọn  -n mà cũng "
 "không -f; từ chối lệnh dọn dẹp (clean)"
 
-#: builtin/clean.c:85
+#: builtin/clean.c:194
 msgid ""
 "clean.requireForce defaults to true and neither -n nor -f given; refusing to "
 "clean"
@@ -3015,236 +3307,233 @@ msgstr ""
 "clean.requireForce mặc định được đặt thành true và không đưa ra tùy chọn  -n "
 "mà cũng không -f; từ chối lệnh dọn dẹp (clean)"
 
-#: builtin/clean.c:155 builtin/clean.c:176
-#, c-format
-msgid "Would remove %s\n"
-msgstr "Có thể gỡ bỏ %s\n"
-
-#: builtin/clean.c:159 builtin/clean.c:179
-#, c-format
-msgid "Removing %s\n"
-msgstr "Đang gỡ bỏ %s\n"
-
-#: builtin/clean.c:162 builtin/clean.c:182
-#, c-format
-msgid "failed to remove %s"
-msgstr "gặp lỗi khi gỡ bỏ %s"
-
-#: builtin/clean.c:166
-#, c-format
-msgid "Would not remove %s\n"
-msgstr "Không thể gỡ bỏ %s\n"
-
-#: builtin/clean.c:168
-#, c-format
-msgid "Not removing %s\n"
-msgstr "Không xóa %s\n"
-
-#: 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:82 builtin/merge.c:212
-#: builtin/push.c:399
+#: builtin/clone.c:65 builtin/fetch.c:82 builtin/merge.c:214
+#: builtin/push.c:436
 msgid "force progress reporting"
 msgstr "ép buộc báo cáo tiến trình"
 
-#: 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:488
+#: builtin/clone.c:68 builtin/clone.c:70 builtin/init-db.c:488
 msgid "create a bare repository"
 msgstr "tạo kho chứa bare"
 
-#: builtin/clone.c:72
+#: builtin/clone.c:73
 msgid "create a mirror repository (implies bare)"
 msgstr "tạo kho bản sao (mirror) (ngụ ý là bare)"
 
-#: builtin/clone.c:74
+#: builtin/clone.c:75
 msgid "to clone from a local repository"
 msgstr "để nhân bản từ kho nội bộ"
 
-#: builtin/clone.c:76
+#: builtin/clone.c:77
 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:78
+#: builtin/clone.c:79
 msgid "setup as shared repository"
 msgstr "cài đặt đây là kho chia sẻ"
 
-#: builtin/clone.c:80 builtin/clone.c:82
+#: builtin/clone.c:81 builtin/clone.c:83
 msgid "initialize submodules in the clone"
 msgstr "khởi tạo mô-đun-con trong bản sao"
 
-#: builtin/clone.c:83 builtin/init-db.c:485
+#: builtin/clone.c:84 builtin/init-db.c:485
 msgid "template-directory"
 msgstr "thư-mục-tạm"
 
-#: builtin/clone.c:84 builtin/init-db.c:486
+#: builtin/clone.c:85 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:86
+#: builtin/clone.c:87
 msgid "reference repository"
 msgstr "kho tham chiếu"
 
-#: builtin/clone.c:87 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:88 builtin/column.c:26 builtin/merge-file.c:44
 msgid "name"
 msgstr "tên"
 
-#: builtin/clone.c:88
+#: builtin/clone.c:89
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "dùng <tên> thay vì “origin” để theo dõi thượng nguồn (uptream)"
 
-#: builtin/clone.c:90
+#: builtin/clone.c:91
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "lấy ra nhánh (checkout <nhánh>) thay vì HEAD của máy chủ"
 
-#: builtin/clone.c:92
+#: builtin/clone.c:93
 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:93 builtin/fetch.c:83 builtin/grep.c:662
+#: builtin/clone.c:94 builtin/fetch.c:83 builtin/grep.c:662
 msgid "depth"
 msgstr "độ sâu"
 
-#: builtin/clone.c:94
+#: builtin/clone.c:95
 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:96
+#: builtin/clone.c:97
 msgid "clone only one branch, HEAD or --branch"
 msgstr "nhân bản (clone) chỉ một nhánh, HEAD hoặc --branch"
 
-#: builtin/clone.c:97 builtin/init-db.c:494
+#: builtin/clone.c:98 builtin/init-db.c:494
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:98 builtin/init-db.c:495
+#: builtin/clone.c:99 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:99
+#: builtin/clone.c:100
 msgid "key=value"
 msgstr "khóa=giá trị"
 
-#: builtin/clone.c:100
+#: builtin/clone.c:101
 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:243
+#: builtin/clone.c:244
 #, c-format
 msgid "reference repository '%s' is not a local directory."
 msgstr "kho tham chiếu “%s” không phải là một thư mục nội bộ."
 
-#: builtin/clone.c:306
+#: builtin/clone.c:307
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "tạo thư mục \"%s\" gặp lỗi"
 
-#: builtin/clone.c:308 builtin/diff.c:77
+#: builtin/clone.c:309 builtin/diff.c:77
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "gặp lỗi stat (lấy trạng thái về) “%s”"
 
-#: builtin/clone.c:310
+#: builtin/clone.c:311
 #, 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:324
+#: builtin/clone.c:325
 #, c-format
 msgid "failed to stat %s\n"
 msgstr "lỗi stat (lấy trạng thái về) %s\n"
 
-#: builtin/clone.c:346
+#: builtin/clone.c:347
 #, 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:350
+#: builtin/clone.c:351
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "gặp lỗi khi chép tập tin tới “%s”"
 
-#: builtin/clone.c:373
+#: builtin/clone.c:374
 #, c-format
 msgid "done.\n"
 msgstr "hoàn tất.\n"
 
-#: builtin/clone.c:443
+#: builtin/clone.c:387
+msgid ""
+"Clone succeeded, but checkout failed.\n"
+"You can inspect what was checked out with 'git status'\n"
+"and retry the checkout with 'git checkout -f HEAD'\n"
+msgstr ""
+"Việc nhân bản thành công, nhưng checkout gặp lỗi.\n"
+"Bạn kiểm tra kỹ xem cái gì được lấy ra bằng lệnh 'git status'\n"
+"và thử checkout với lệnh 'git checkout -f HEAD'\n"
+
+#: builtin/clone.c:466
 #, 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:552
+#: builtin/clone.c:540
+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:600
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr "refers HEAD máy chủ  chỉ đến ref không tồn tại, không thể checkout.\n"
 
-#: builtin/clone.c:690
+#: builtin/clone.c:631
+msgid "unable to checkout working tree"
+msgstr "không thể lấy ra (checkout) cây làm việc"
+
+#: builtin/clone.c:739
 msgid "Too many arguments."
 msgstr "Có quá nhiều đối số."
 
-#: builtin/clone.c:694
+#: builtin/clone.c:743
 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:705
+#: builtin/clone.c:754
 #, 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:719
+#: builtin/clone.c:757
+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:770
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "kho chứa “%s” chưa tồn tại"
 
-#: builtin/clone.c:724
+#: builtin/clone.c:775
 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:734
+#: builtin/clone.c:785
 #, 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:744
+#: builtin/clone.c:795
 #, 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:757 builtin/clone.c:771
+#: builtin/clone.c:808 builtin/clone.c:820
 #, 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:760
+#: builtin/clone.c:811
 #, 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:779
+#: builtin/clone.c:830
 #, 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:781
+#: builtin/clone.c:832
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Đang nhân bản thành “%s”...\n"
 
-#: builtin/clone.c:823
+#: builtin/clone.c:867
 #, 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:872
+#: builtin/clone.c:916
 #, 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 (upstream) %s"
 
-#: builtin/clone.c:879
+#: builtin/clone.c:923
 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."
 
@@ -3281,12 +3570,12 @@ msgid "--command must be the first argument"
 msgstr "--command phải là đối số đầu tiên"
 
 #: builtin/commit.c:34
-msgid "git commit [options] [--] <filepattern>..."
-msgstr "git commit [các-tùy-chọn] [--] <mẫu-tập-tin>..."
+msgid "git commit [options] [--] <pathspec>..."
+msgstr "git commit [các-tùy-chọn] [--] <pathspec>..."
 
 #: builtin/commit.c:39
-msgid "git status [options] [--] <filepattern>..."
-msgstr "git status [các-tùy-chọn] [--] <mẫu-tập-tin>..."
+msgid "git status [options] [--] <pathspec>..."
+msgstr "git status [các-tùy-chọn] [--] <pathspec>..."
 
 #: builtin/commit.c:44
 msgid ""
@@ -3346,97 +3635,97 @@ msgstr ""
 "\n"
 "Nếu không, hãy thử dùng “git reset”\n"
 
-#: builtin/commit.c:258
+#: builtin/commit.c:260
 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:300
+#: builtin/commit.c:302
 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:306
+#: builtin/commit.c:308
 msgid "interactive add failed"
 msgstr "việc thêm tương tác gặp lỗi"
 
-#: builtin/commit.c:339 builtin/commit.c:360 builtin/commit.c:410
+#: builtin/commit.c:341 builtin/commit.c:362 builtin/commit.c:412
 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:391
+#: builtin/commit.c:393
 msgid "cannot do a partial commit during a merge."
 msgstr ""
 "không thể thực hiện việc chuyển giao (commit) cục bộ trong khi đang được hòa "
 "trộn."
 
-#: builtin/commit.c:393
+#: builtin/commit.c:395
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr ""
 "không thể thực hiện việc chuyển giao (commit) bộ phận trong khi đang cherry-"
 "pick."
 
-#: builtin/commit.c:403
+#: builtin/commit.c:405
 msgid "cannot read the index"
 msgstr "không đọc được bảng mục lục"
 
-#: builtin/commit.c:423
+#: builtin/commit.c:425
 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:511 builtin/commit.c:517
+#: builtin/commit.c:513 builtin/commit.c:519
 #, c-format
 msgid "invalid commit: %s"
 msgstr "lần chuyển giao (commit) không hợp lệ: %s"
 
-#: builtin/commit.c:540
+#: builtin/commit.c:542
 msgid "malformed --author parameter"
 msgstr "đối số --author bị dị hình"
 
-#: builtin/commit.c:560
+#: builtin/commit.c:562
 #, c-format
 msgid "Malformed ident string: '%s'"
 msgstr "Chuỗi thụt lề đầu dòng dị hình: “%s”"
 
-#: builtin/commit.c:598 builtin/commit.c:631 builtin/commit.c:954
+#: builtin/commit.c:600 builtin/commit.c:633 builtin/commit.c:956
 #, 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:610 builtin/shortlog.c:296
+#: builtin/commit.c:612 builtin/shortlog.c:272
 #, 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:612
+#: builtin/commit.c:614
 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:616
+#: builtin/commit.c:618
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "không đọc được tệp nhật ký “%s”"
 
-#: builtin/commit.c:622
+#: builtin/commit.c:624
 msgid "commit has empty message"
 msgstr "lần chuyển giao (commit) có ghi chú trống rỗng"
 
-#: builtin/commit.c:638
+#: builtin/commit.c:640
 msgid "could not read MERGE_MSG"
 msgstr "không thể đọc MERGE_MSG"
 
-#: builtin/commit.c:642
+#: builtin/commit.c:644
 msgid "could not read SQUASH_MSG"
 msgstr "không thể đọc SQUASH_MSG"
 
-#: builtin/commit.c:646
+#: builtin/commit.c:648
 #, c-format
 msgid "could not read '%s'"
 msgstr "Không thể đọc “%s”."
 
-#: builtin/commit.c:707
+#: builtin/commit.c:709
 msgid "could not write commit template"
 msgstr "không thể ghi mẫu commit"
 
-#: builtin/commit.c:718
+#: builtin/commit.c:720
 #, c-format
 msgid ""
 "\n"
@@ -3451,7 +3740,7 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:723
+#: builtin/commit.c:725
 #, c-format
 msgid ""
 "\n"
@@ -3466,169 +3755,171 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:735
+#: builtin/commit.c:737
+#, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
-"with '#' will be ignored, and an empty message aborts the commit.\n"
+"with '%c' will be ignored, and an empty message aborts the commit.\n"
 msgstr ""
 "Hãy nhập vào các thông tin để giải thích các thay đổi của bạn. Những dòng "
 "được\n"
-"bắt đầu bằng “#” sẽ được bỏ qua, phần chú thích này nếu rỗng sẽ làm hủy bỏ "
-"lần chuyển giao (commit).\n"
+"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 (commit).\n"
 
-#: builtin/commit.c:740
+#: builtin/commit.c:742
+#, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
-"with '#' will be kept; you may remove them yourself if you want to.\n"
+"with '%c' will be kept; you may remove them yourself if you want to.\n"
 "An empty message aborts the commit.\n"
 msgstr ""
-"Hãy nhập vào các thông tin để giải thích các thay đổi của bạn.Những dòng "
+"Hãy nhập vào các thông tin để giải thích các thay đổi của bạn. Những dòng "
 "được\n"
-"bắt đầu bằng “#” sẽ được bỏ qua; bạn có thể xóa chúng đi nếu muốn.\n"
-"Phần chú thích này nếu rỗng sẽ làm hủy bỏ lần chuyển giao (commit).\n"
+"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 (commit).\n"
 
-#: builtin/commit.c:753
+#: builtin/commit.c:755
 #, c-format
 msgid "%sAuthor:    %s"
 msgstr "%sTác giả:    %s"
 
-#: builtin/commit.c:760
+#: builtin/commit.c:762
 #, c-format
 msgid "%sCommitter: %s"
 msgstr "%sNgười chuyển giao (commit): %s"
 
-#: builtin/commit.c:780
+#: builtin/commit.c:782
 msgid "Cannot read index"
 msgstr "không đọc được bảng mục lục"
 
-#: builtin/commit.c:817
+#: builtin/commit.c:819
 msgid "Error building trees"
 msgstr "Gặp lỗi khi xây dựng cây"
 
-#: builtin/commit.c:832 builtin/tag.c:361
+#: builtin/commit.c:834 builtin/tag.c:359
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "Xin hãy áp dụng thông điệp sử dụng hoặc là tùy chọn -m hoặc là -F.\n"
 
-#: builtin/commit.c:929
+#: builtin/commit.c:931
 #, 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:944 builtin/commit.c:1148
+#: builtin/commit.c:946 builtin/commit.c:1140
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Chế độ cho các tập tin không bị theo vết không hợp lệ “%s”"
 
-#: builtin/commit.c:984
+#: builtin/commit.c:976
 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:995
+#: builtin/commit.c:987
 msgid "You have nothing to amend."
 msgstr "Không có gì để amend (tu bổ) cả."
 
-#: builtin/commit.c:998
+#: builtin/commit.c:990
 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 amend (tu bổ)."
 
-#: builtin/commit.c:1000
+#: builtin/commit.c:992
 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 amend (tu "
 "bổ)."
 
-#: builtin/commit.c:1003
+#: builtin/commit.c:995
 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:1013
+#: builtin/commit.c:1005
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "Chỉ một tùy chọn trong số -c/-C/-F/--fixup được sử dụng"
 
-#: builtin/commit.c:1015
+#: builtin/commit.c:1007
 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:1023
+#: builtin/commit.c:1015
 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:1040
+#: builtin/commit.c:1032
 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:1042
+#: builtin/commit.c:1034
 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:1044
+#: builtin/commit.c:1036
 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 phi nghĩa."
 
-#: builtin/commit.c:1046
+#: builtin/commit.c:1038
 msgid "Explicit paths specified without -i nor -o; assuming --only paths..."
 msgstr ""
 "Những đường dẫn rõ ràng được chỉ ra không có tùy chọn -i cũng không -o; đang "
 "giả định --only những-đường-dẫn..."
 
-#: builtin/commit.c:1056 builtin/tag.c:577
+#: builtin/commit.c:1048 builtin/tag.c:575
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Chế độ dọn dẹp không hợp lệ %s"
 
-#: builtin/commit.c:1061
+#: builtin/commit.c:1053
 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:1067 builtin/commit.c:1202
+#: builtin/commit.c:1059 builtin/commit.c:1194
 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:1162 builtin/commit.c:1398
+#: builtin/commit.c:1154 builtin/commit.c:1390
 msgid "show status concisely"
 msgstr "hiển thị trạng thái ở dạng súc tích"
 
-#: builtin/commit.c:1164 builtin/commit.c:1400
+#: builtin/commit.c:1156 builtin/commit.c:1392
 msgid "show branch information"
 msgstr "hiển thị thông tin nhánh"
 
-#: builtin/commit.c:1166 builtin/commit.c:1402 builtin/push.c:389
+#: builtin/commit.c:1158 builtin/commit.c:1394 builtin/push.c:426
 msgid "machine-readable output"
 msgstr "kết xuất dạng máy-có-thể-đọc"
 
-#: builtin/commit.c:1169 builtin/commit.c:1404
+#: builtin/commit.c:1161 builtin/commit.c:1396
 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:1172 builtin/commit.c:1407
+#: builtin/commit.c:1164 builtin/commit.c:1399
 msgid "terminate entries with NUL"
 msgstr "chấm dứt các mục bằng NUL"
 
-#: builtin/commit.c:1174 builtin/commit.c:1410 builtin/fast-export.c:636
-#: builtin/fast-export.c:639 builtin/tag.c:461
+#: builtin/commit.c:1166 builtin/commit.c:1402 builtin/fast-export.c:653
+#: builtin/fast-export.c:656 builtin/tag.c:459
 msgid "mode"
 msgstr "chế độ"
 
-#: builtin/commit.c:1175 builtin/commit.c:1410
+#: builtin/commit.c:1167 builtin/commit.c:1402
 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:1178
+#: builtin/commit.c:1170
 msgid "show ignored files"
 msgstr "hiển thị các tập tin ẩn"
 
-#: builtin/commit.c:1179 parse-options.h:151
+#: builtin/commit.c:1171 parse-options.h:151
 msgid "when"
 msgstr "khi"
 
-#: builtin/commit.c:1180
+#: builtin/commit.c:1172
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -3636,223 +3927,223 @@ 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:1182
+#: builtin/commit.c:1174
 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:1256
+#: builtin/commit.c:1248
 msgid "couldn't look up newly created commit"
 msgstr "không thể tìm thấy lần chuyển giao (commit) mới hơn đã được tạo"
 
-#: builtin/commit.c:1258
+#: builtin/commit.c:1250
 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:1299
+#: builtin/commit.c:1291
 msgid "detached HEAD"
 msgstr "đã rời khỏi HEAD"
 
-#: builtin/commit.c:1301
+#: builtin/commit.c:1293
 msgid " (root-commit)"
 msgstr " (root-commit)"
 
-#: builtin/commit.c:1368
+#: builtin/commit.c:1360
 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:1369
+#: builtin/commit.c:1361
 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:1371
+#: builtin/commit.c:1363
 msgid "Commit message options"
 msgstr "Các tùy chọn ghi chú commit"
 
-#: builtin/commit.c:1372 builtin/tag.c:459
+#: builtin/commit.c:1364 builtin/tag.c:457
 msgid "read message from file"
 msgstr "đọc chú thích từ tập tin"
 
-#: builtin/commit.c:1373
+#: builtin/commit.c:1365
 msgid "author"
 msgstr "tác giả"
 
-#: builtin/commit.c:1373
+#: builtin/commit.c:1365
 msgid "override author for commit"
 msgstr "ghi đè tác giả cho commit"
 
-#: builtin/commit.c:1374 builtin/gc.c:178
+#: builtin/commit.c:1366 builtin/gc.c:178
 msgid "date"
 msgstr "ngày tháng"
 
-#: builtin/commit.c:1374
+#: builtin/commit.c:1366
 msgid "override date for commit"
 msgstr "ghi đè ngày tháng cho commit"
 
-#: builtin/commit.c:1375 builtin/merge.c:206 builtin/notes.c:537
-#: builtin/notes.c:694 builtin/tag.c:457
+#: builtin/commit.c:1367 builtin/merge.c:208 builtin/notes.c:533
+#: builtin/notes.c:690 builtin/tag.c:455
 msgid "message"
 msgstr "thông điệp"
 
-#: builtin/commit.c:1375
+#: builtin/commit.c:1367
 msgid "commit message"
 msgstr "chú thích của lần commit"
 
-#: builtin/commit.c:1376
+#: builtin/commit.c:1368
 msgid "reuse and edit message from specified commit"
 msgstr ""
 "dùng lại các ghi chú từ lần chuyển giao (commit) đã cho nhưng có cho sửa chữa"
 
-#: builtin/commit.c:1377
+#: builtin/commit.c:1369
 msgid "reuse message from specified commit"
 msgstr "dùng lại các ghi chú từ lần chuyển giao (commit) đã cho"
 
-#: builtin/commit.c:1378
+#: builtin/commit.c:1370
 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:1379
+#: builtin/commit.c:1371
 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:1380
+#: builtin/commit.c:1372
 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:1381 builtin/log.c:1073 builtin/revert.c:109
+#: builtin/commit.c:1373 builtin/log.c:1104 builtin/revert.c:109
 msgid "add Signed-off-by:"
 msgstr "thêm dòng Signed-off-by:"
 
-#: builtin/commit.c:1382
+#: builtin/commit.c:1374
 msgid "use specified template file"
 msgstr "sử dụng tập tin mẫu đã cho"
 
-#: builtin/commit.c:1383
+#: builtin/commit.c:1375
 msgid "force edit of commit"
 msgstr "ép buộc sửa lần commit"
 
-#: builtin/commit.c:1384
+#: builtin/commit.c:1376
 msgid "default"
 msgstr "mặc định"
 
-#: builtin/commit.c:1384 builtin/tag.c:462
+#: builtin/commit.c:1376 builtin/tag.c:460
 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:1385
+#: builtin/commit.c:1377
 msgid "include status in commit message template"
 msgstr "bao gồm các trạng thái ghi mẫu ghi chú chuyển giao (commit)"
 
-#: builtin/commit.c:1386 builtin/merge.c:213 builtin/tag.c:463
+#: builtin/commit.c:1378 builtin/merge.c:215 builtin/tag.c:461
 msgid "key id"
 msgstr "id khóa"
 
-#: builtin/commit.c:1387 builtin/merge.c:214
+#: builtin/commit.c:1379 builtin/merge.c:216
 msgid "GPG sign commit"
 msgstr "ký lần commit dùng GPG"
 
 #. end commit message options
-#: builtin/commit.c:1390
+#: builtin/commit.c:1382
 msgid "Commit contents options"
 msgstr "Các tùy nội dung ghi chú commit"
 
-#: builtin/commit.c:1391
+#: builtin/commit.c:1383
 msgid "commit all changed files"
 msgstr "chuyển giao tất cả các tập tin có thay đổi"
 
-#: builtin/commit.c:1392
+#: builtin/commit.c:1384
 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 (commit)"
 
-#: builtin/commit.c:1393
+#: builtin/commit.c:1385
 msgid "interactively add files"
 msgstr "thêm các tập-tin bằng tương tác"
 
-#: builtin/commit.c:1394
+#: builtin/commit.c:1386
 msgid "interactively add changes"
 msgstr "thêm các thay đổi bằng tương tác"
 
-#: builtin/commit.c:1395
+#: builtin/commit.c:1387
 msgid "commit only specified files"
 msgstr "chỉ chuyển giao các tập tin đã chỉ ra"
 
-#: builtin/commit.c:1396
+#: builtin/commit.c:1388
 msgid "bypass pre-commit hook"
 msgstr "vòng qua móc (hook) pre-commit"
 
-#: builtin/commit.c:1397
+#: builtin/commit.c:1389
 msgid "show what would be committed"
 msgstr "hiển thị xem cái gì có thể được chuyển giao"
 
-#: builtin/commit.c:1408
+#: builtin/commit.c:1400
 msgid "amend previous commit"
 msgstr "tu bổ (amend) lần commit trước"
 
-#: builtin/commit.c:1409
+#: builtin/commit.c:1401
 msgid "bypass post-rewrite hook"
 msgstr "vòng qua móc (hook) post-rewrite"
 
-#: builtin/commit.c:1414
+#: builtin/commit.c:1406
 msgid "ok to record an empty change"
 msgstr "ok để ghi lại một thay đổi trống rỗng"
 
-#: builtin/commit.c:1417
+#: builtin/commit.c:1409
 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:1449
+#: builtin/commit.c:1441
 msgid "could not parse HEAD commit"
 msgstr "không thể phân tích commit (lần chuyển giao) HEAD"
 
-#: builtin/commit.c:1487 builtin/merge.c:508
+#: builtin/commit.c:1479 builtin/merge.c:510
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "không thể mở “%s” để đọc"
 
-#: builtin/commit.c:1494
+#: builtin/commit.c:1486
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Tập tin MERGE_HEAD sai hỏng (%s)"
 
-#: builtin/commit.c:1501
+#: builtin/commit.c:1493
 msgid "could not read MERGE_MODE"
 msgstr "không thể đọc MERGE_MODE"
 
-#: builtin/commit.c:1520
+#: builtin/commit.c:1512
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "không thể đọc thông điệp (message) commit (lần chuyển giao): %s"
 
-#: builtin/commit.c:1534
+#: builtin/commit.c:1526
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr ""
 "Đang bỏ qua việc chuyển giao (commit); bạn đã không biên soạn thông điệp "
 "(message).\n"
 
-#: builtin/commit.c:1539
+#: builtin/commit.c:1531
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr ""
 "Đang bỏ qua lần chuyển giao (commit) bởi vì thông điệp của nó trống rỗng.\n"
 
-#: builtin/commit.c:1554 builtin/merge.c:832 builtin/merge.c:857
+#: builtin/commit.c:1546 builtin/merge.c:847 builtin/merge.c:872
 msgid "failed to write commit object"
 msgstr "gặp lỗi khi ghi đối tượng chuyển giao (commit)"
 
-#: builtin/commit.c:1575
+#: builtin/commit.c:1567
 msgid "cannot lock HEAD ref"
 msgstr "không thể khóa HEAD ref (tham chiếu)"
 
-#: builtin/commit.c:1579
+#: builtin/commit.c:1571
 msgid "cannot update HEAD ref"
 msgstr "không thể cập nhật ref (tham chiếu) HEAD"
 
-#: builtin/commit.c:1590
+#: builtin/commit.c:1582
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full or quota is\n"
@@ -3979,7 +4270,7 @@ 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:69
+#: builtin/count-objects.c:82
 msgid "git count-objects [-v]"
 msgstr "git count-objects [-v]"
 
@@ -3991,47 +4282,47 @@ msgstr "git describe [các-tùy-chọn] <committish>*"
 msgid "git describe [options] --dirty"
 msgstr "git describe [các-tùy-chọn] --dirty"
 
-#: builtin/describe.c:234
+#: builtin/describe.c:233
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "thẻ đã được ghi chú %s không sẵn để dùng"
 
-#: builtin/describe.c:238
+#: builtin/describe.c:237
 #, 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:240
+#: builtin/describe.c:239
 #, c-format
 msgid "tag '%s' is really '%s' here"
 msgstr "thẻ “%s” đã thực sự ở đây “%s” rồi"
 
-#: builtin/describe.c:267
+#: builtin/describe.c:266
 #, 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:270
+#: builtin/describe.c:269
 #, 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:287
+#: builtin/describe.c:286
 #, 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:289
+#: builtin/describe.c:288
 #, c-format
 msgid "searching to describe %s\n"
 msgstr "Đang tìm kiếm để mô tả %s\n"
 
-#: builtin/describe.c:329
+#: builtin/describe.c:328
 #, 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:353
+#: builtin/describe.c:352
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
@@ -4040,7 +4331,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:357
+#: builtin/describe.c:356
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
@@ -4049,12 +4340,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:378
+#: builtin/describe.c:377
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr "đã xuyên %lu qua lần chuyển giao (commit)\n"
 
-#: builtin/describe.c:381
+#: builtin/describe.c:380
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
@@ -4063,59 +4354,59 @@ 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:403
+#: builtin/describe.c:402
 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:404
+#: builtin/describe.c:403
 msgid "debug search strategy on stderr"
 msgstr "chiến lược tìm kiếm trên đầu ra lỗi chuẩn stderr"
 
+#: builtin/describe.c:404
+msgid "use any ref"
+msgstr "dùng ref bất kỳ"
+
 #: builtin/describe.c:405
-msgid "use any ref in .git/refs"
-msgstr "sử dụng bất kỳ ref nào trong .git/refs"
+msgid "use any tag, even unannotated"
+msgstr "dùng thẻ bất kỳ, cả khi `unannotated'"
 
 #: builtin/describe.c:406
-msgid "use any tag in .git/refs/tags"
-msgstr "sử dụng bất kỳ thẻ nào trong .git/refs/tags"
-
-#: builtin/describe.c:407
 msgid "always use long format"
 msgstr "luôn dùng định dạng dài"
 
-#: builtin/describe.c:410
+#: builtin/describe.c:409
 msgid "only output exact matches"
 msgstr "chỉ xuất những gì khớp chính xác"
 
-#: builtin/describe.c:412
+#: builtin/describe.c:411
 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:414
+#: builtin/describe.c:413
 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:416 builtin/name-rev.c:238
+#: builtin/describe.c:415 builtin/name-rev.c:238
 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:417
+#: builtin/describe.c:416
 msgid "mark"
 msgstr "dấu"
 
-#: builtin/describe.c:418
+#: builtin/describe.c:417
 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:436
+#: builtin/describe.c:435
 msgid "--long is incompatible with --abbrev=0"
 msgstr "--long là xung khắc với tùy chọn --abbrev=0"
 
-#: builtin/describe.c:462
+#: builtin/describe.c:461
 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:482
+#: builtin/describe.c:481
 msgid "--dirty is incompatible with committishes"
 msgstr "--dirty là xung khắc với các tùy chọn dành cho chuyển giao (commit)"
 
@@ -4157,39 +4448,39 @@ msgstr "đã cho đối tượng không thể nắm giữ “%s”."
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [rev-list-opts]"
 
-#: builtin/fast-export.c:635
+#: builtin/fast-export.c:652
 msgid "show progress after <n> objects"
 msgstr "hiển thị tiến triển sau <n> đối tượng"
 
-#: builtin/fast-export.c:637
+#: builtin/fast-export.c:654
 msgid "select handling of signed tags"
 msgstr "chọn điều khiển của thẻ đã ký"
 
-#: builtin/fast-export.c:640
+#: builtin/fast-export.c:657
 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:643
+#: builtin/fast-export.c:660
 msgid "Dump marks to this file"
 msgstr "Đổ các đánh dấu này vào tập-tin"
 
-#: builtin/fast-export.c:645
+#: builtin/fast-export.c:662
 msgid "Import marks from this file"
 msgstr "nhập vào đánh dấu từ tập tin này"
 
-#: builtin/fast-export.c:647
+#: builtin/fast-export.c:664
 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:649
+#: builtin/fast-export.c:666
 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:651
+#: builtin/fast-export.c:668
 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:652
+#: builtin/fast-export.c:669
 msgid "Skip output of blob data"
 msgstr "Bỏ qua kết xuất của dữ liệu blob"
 
@@ -4263,88 +4554,92 @@ msgstr "cho phép cập nhật ref (tham chiếu) HEAD"
 msgid "deepen history of shallow clone"
 msgstr "làm sâu hơn lịch sử của bản sao"
 
-#: builtin/fetch.c:85 builtin/log.c:1088
+#: builtin/fetch.c:86
+msgid "convert to a complete repository"
+msgstr "chuyển đổi hoàn toàn sang kho git"
+
+#: builtin/fetch.c:88 builtin/log.c:1121
 msgid "dir"
 msgstr "tmục"
 
-#: builtin/fetch.c:86
+#: builtin/fetch.c:89
 msgid "prepend this to submodule path output"
 msgstr "soạn sẵn cái này cho kết xuất đường dẫn mô-đun-con"
 
-#: builtin/fetch.c:89
+#: builtin/fetch.c:92
 msgid "default mode for recursion"
 msgstr "chế độ mặc định cho đệ qui"
 
-#: builtin/fetch.c:201
+#: builtin/fetch.c:204
 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:254
+#: builtin/fetch.c:257
 #, c-format
 msgid "object %s not found"
 msgstr "Không tìm thấy đối tượng %s"
 
-#: builtin/fetch.c:259
+#: builtin/fetch.c:262
 msgid "[up to date]"
 msgstr "[đã cập nhật]"
 
-#: builtin/fetch.c:273
+#: builtin/fetch.c:276
 #, 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:274 builtin/fetch.c:360
+#: builtin/fetch.c:277 builtin/fetch.c:363
 msgid "[rejected]"
 msgstr "[Bị từ chối]"
 
-#: builtin/fetch.c:285
+#: builtin/fetch.c:288
 msgid "[tag update]"
 msgstr "[cập nhật thẻ]"
 
-#: builtin/fetch.c:287 builtin/fetch.c:322 builtin/fetch.c:340
+#: builtin/fetch.c:290 builtin/fetch.c:325 builtin/fetch.c:343
 msgid "  (unable to update local ref)"
 msgstr "  (không thể cập nhật tham chiếu (ref) nội bộ)"
 
-#: builtin/fetch.c:305
+#: builtin/fetch.c:308
 msgid "[new tag]"
 msgstr "[thẻ mới]"
 
-#: builtin/fetch.c:308
+#: builtin/fetch.c:311
 msgid "[new branch]"
 msgstr "[nhánh mới]"
 
-#: builtin/fetch.c:311
+#: builtin/fetch.c:314
 msgid "[new ref]"
 msgstr "[ref (tham chiếu) mới]"
 
-#: builtin/fetch.c:356
+#: builtin/fetch.c:359
 msgid "unable to update local ref"
 msgstr "không thể cập nhật tham chiếu (ref) nội bộ"
 
-#: builtin/fetch.c:356
+#: builtin/fetch.c:359
 msgid "forced update"
 msgstr "cưỡng bức cập nhật"
 
-#: builtin/fetch.c:362
+#: builtin/fetch.c:365
 msgid "(non-fast-forward)"
 msgstr "(non-fast-forward)"
 
-#: builtin/fetch.c:393 builtin/fetch.c:685
+#: builtin/fetch.c:396 builtin/fetch.c:688
 #, c-format
 msgid "cannot open %s: %s\n"
 msgstr "không thể mở %s: %s\n"
 
-#: builtin/fetch.c:402
+#: builtin/fetch.c:405
 #, 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:488
+#: builtin/fetch.c:491
 #, c-format
 msgid "From %.*s\n"
 msgstr "Từ %.*s\n"
 
-#: builtin/fetch.c:499
+#: builtin/fetch.c:502
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -4353,57 +4648,57 @@ 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"
 " “git remote prune %s” để bỏ đi những nhánh cũ, hay bị xung đột"
 
-#: builtin/fetch.c:549
+#: builtin/fetch.c:552
 #, 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:550
+#: builtin/fetch.c:553
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s đã trở thành không đầu (không được quản lý))"
 
-#: builtin/fetch.c:557
+#: builtin/fetch.c:560
 msgid "[deleted]"
 msgstr "[đã xóa]"
 
-#: builtin/fetch.c:558 builtin/remote.c:1055
+#: builtin/fetch.c:561 builtin/remote.c:1055
 msgid "(none)"
 msgstr "(không)"
 
-#: builtin/fetch.c:675
+#: builtin/fetch.c:678
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr ""
 "Từ chối việc lấy (fetch) 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:709
+#: builtin/fetch.c:712
 #, 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ề (fetch) từ %s"
 
-#: builtin/fetch.c:786
+#: builtin/fetch.c:789
 #, 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:789
+#: builtin/fetch.c:792
 #, 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:891
+#: builtin/fetch.c:894
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Đang lấy (fetch) %s\n"
 
-#: builtin/fetch.c:893 builtin/remote.c:100
+#: builtin/fetch.c:896 builtin/remote.c:100
 #, c-format
 msgid "Could not fetch %s"
 msgstr "không thể fetch (lấy) %s"
 
-#: builtin/fetch.c:912
+#: builtin/fetch.c:915
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -4411,24 +4706,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:932
+#: builtin/fetch.c:935
 msgid "You need to specify a tag name."
 msgstr "Bạn phải định rõ tên thẻ."
 
-#: builtin/fetch.c:984
+#: builtin/fetch.c:981
+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:983
+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:1002
 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:986
+#: builtin/fetch.c:1004
 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:997
+#: builtin/fetch.c:1015
 #, 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:1005
+#: builtin/fetch.c:1023
 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ý"
 
@@ -4437,29 +4740,29 @@ msgid "git fmt-merge-msg [-m <message>] [--log[=<n>]|--no-log] [--file <file>]"
 msgstr ""
 "git fmt-merge-msg [-m <thông điệp>] [--log[=<n>]|--no-log] [--file <tập-tin>]"
 
-#: builtin/fmt-merge-msg.c:653 builtin/fmt-merge-msg.c:656 builtin/grep.c:701
+#: builtin/fmt-merge-msg.c:659 builtin/fmt-merge-msg.c:662 builtin/grep.c:701
 #: builtin/merge.c:188 builtin/show-branch.c:656 builtin/show-ref.c:175
-#: builtin/tag.c:448 parse-options.h:133 parse-options.h:235
+#: builtin/tag.c:446 parse-options.h:133 parse-options.h:239
 msgid "n"
 msgstr "n"
 
-#: builtin/fmt-merge-msg.c:654
+#: builtin/fmt-merge-msg.c:660
 msgid "populate log with at most <n> entries from shortlog"
 msgstr "gắn nhật ký với ít nhất <n> mục từ lệnh “shortlog”"
 
-#: builtin/fmt-merge-msg.c:657
+#: builtin/fmt-merge-msg.c:663
 msgid "alias for --log (deprecated)"
 msgstr "bí danh cho --log (không được dùng)"
 
-#: builtin/fmt-merge-msg.c:660
+#: builtin/fmt-merge-msg.c:666
 msgid "text"
 msgstr "văn bản"
 
-#: builtin/fmt-merge-msg.c:661
+#: builtin/fmt-merge-msg.c:667
 msgid "use <text> as start of message"
 msgstr "dùng <văn bản thường> để bắt đầu ghi chú"
 
-#: builtin/fmt-merge-msg.c:662
+#: builtin/fmt-merge-msg.c:668
 msgid "file to read from"
 msgstr "tập tin để đọc dữ liệu từ đó"
 
@@ -4617,7 +4920,7 @@ msgstr "không thể thực hiện lệnh grep (lọc tìm) từ đối tượng
 #: builtin/grep.c:551
 #, c-format
 msgid "switch `%c' expects a numerical value"
-msgstr "chuyển đến `%c' cần một giá trị bằng số"
+msgstr "chuyển đến “%c” cần một giá trị bằng số"
 
 #: builtin/grep.c:568
 #, c-format
@@ -4797,11 +5100,6 @@ msgstr "hiển thị cách dùng"
 msgid "no pattern given."
 msgstr "chưa chỉ ra mẫu."
 
-#: builtin/grep.c:825
-#, c-format
-msgid "bad object %s"
-msgstr "đối tượng sai %s"
-
 #: builtin/grep.c:866
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager chỉ làm việc trên cây-làm-việc"
@@ -4860,50 +5158,50 @@ msgstr "lưu các tập tin mà nó không có các bộ lọc"
 msgid "process file as it were from this path"
 msgstr "xử lý tập tin như là nó đang ở thư mục này"
 
-#: builtin/help.c:43
+#: builtin/help.c:42
 msgid "print all available commands"
 msgstr "hiển thị danh sách các câu lệnh người dùng có thể sử dụng"
 
-#: builtin/help.c:44
+#: builtin/help.c:43
 msgid "show man page"
 msgstr "hiển thị trang man"
 
-#: builtin/help.c:45
+#: builtin/help.c:44
 msgid "show manual in web browser"
 msgstr "hiển thị hướng dẫn sử dụng trong trình duyệt web"
 
-#: builtin/help.c:47
+#: builtin/help.c:46
 msgid "show info page"
 msgstr "hiện trang info"
 
-#: builtin/help.c:53
+#: builtin/help.c:52
 msgid "git help [--all] [--man|--web|--info] [command]"
 msgstr "git help [--all] [--man|--web|--info] [lệnh]"
 
-#: builtin/help.c:65
+#: builtin/help.c:64
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr "không nhận ra định dạng trợ giúp “%s”"
 
-#: builtin/help.c:93
+#: builtin/help.c:92
 msgid "Failed to start emacsclient."
 msgstr "Lỗi khởi chạy emacsclient."
 
-#: builtin/help.c:106
+#: builtin/help.c:105
 msgid "Failed to parse emacsclient version."
 msgstr "Gặp lỗi khi phân tích phiên bản emacsclient."
 
-#: builtin/help.c:114
+#: builtin/help.c:113
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "phiên bản của emacsclient “%d” quá cũ (< 22)."
 
-#: builtin/help.c:132 builtin/help.c:160 builtin/help.c:169 builtin/help.c:177
+#: builtin/help.c:131 builtin/help.c:159 builtin/help.c:168 builtin/help.c:176
 #, c-format
 msgid "failed to exec '%s': %s"
 msgstr "gặp lỗi khi thực thi “%s”: %s"
 
-#: builtin/help.c:217
+#: builtin/help.c:216
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -4912,7 +5210,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:229
+#: builtin/help.c:228
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -4921,307 +5219,303 @@ 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:299
-msgid "The most commonly used git commands are:"
-msgstr "Những lệnh git hay được sử dụng nhất là:"
-
-#: builtin/help.c:367
+#: builtin/help.c:349
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "“%s”: không rõ chương trình xem man."
 
-#: builtin/help.c:384
+#: builtin/help.c:366
 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:392
+#: builtin/help.c:374
 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:447 builtin/help.c:454
+#: builtin/help.c:429 builtin/help.c:436
 #, c-format
 msgid "usage: %s%s"
 msgstr "cách sử dụng: %s%s"
 
-#: builtin/help.c:470
+#: builtin/help.c:452
 #, c-format
 msgid "`git %s' is aliased to `%s'"
-msgstr "`git %s' được đặt bí danh thành `%s'"
+msgstr "“git %s” được đặt bí danh thành “%s”"
 
-#: builtin/index-pack.c:170
+#: builtin/index-pack.c:182
 #, 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:190
+#: builtin/index-pack.c:202
 msgid "object of unexpected type"
 msgstr "đối tượng của kiểu không mong đợi"
 
-#: builtin/index-pack.c:227
+#: builtin/index-pack.c:239
 #, 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:237
+#: builtin/index-pack.c:249
 msgid "early EOF"
 msgstr "vừa đúng lúc EOF"
 
-#: builtin/index-pack.c:238
+#: builtin/index-pack.c:250
 msgid "read error on input"
 msgstr "lỗi đọc ở đầu vào"
 
-#: builtin/index-pack.c:250
+#: builtin/index-pack.c:262
 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:257
+#: builtin/index-pack.c:269
 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"
 
-#: builtin/index-pack.c:273
+#: builtin/index-pack.c:285
 #, c-format
 msgid "unable to create '%s'"
 msgstr "không thể tạo “%s”"
 
-#: builtin/index-pack.c:278
+#: builtin/index-pack.c:290
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "không thể mở packfile “%s”"
 
-#: builtin/index-pack.c:292
+#: builtin/index-pack.c:304
 msgid "pack signature mismatch"
 msgstr "chữ ký cho pack không khớp"
 
-#: builtin/index-pack.c:294
+#: builtin/index-pack.c:306
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "không hỗ trợ phiên bản pack %<PRIu32>"
 
-#: builtin/index-pack.c:312
+#: builtin/index-pack.c:324
 #, c-format
 msgid "pack has bad object at offset %lu: %s"
 msgstr "pack có đối tượng sai khoảng bù (offset) %lu: %s"
 
-#: builtin/index-pack.c:434
+#: builtin/index-pack.c:446
 #, c-format
 msgid "inflate returned %d"
 msgstr "xả nén trả về %d"
 
-#: builtin/index-pack.c:483
+#: builtin/index-pack.c:495
 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:491
+#: builtin/index-pack.c:503
 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:499
+#: builtin/index-pack.c:511
 #, c-format
 msgid "unknown object type %d"
 msgstr "không hiểu kiểu đối tượng %d"
 
-#: builtin/index-pack.c:530
+#: builtin/index-pack.c:542
 msgid "cannot pread pack file"
 msgstr "không thể chạy hàm pread cho tập tin pack"
 
-#: builtin/index-pack.c:532
+#: builtin/index-pack.c:544
 #, 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, %lu byte bị thiếu"
 msgstr[1] "tập tin pack bị kết thúc sớm, %lu byte bị thiếu"
 
-#: builtin/index-pack.c:558
+#: builtin/index-pack.c:570
 msgid "serious inflate inconsistency"
 msgstr "sự mâu thuẫn xả nén nghiêm trọng"
 
-#: builtin/index-pack.c:649 builtin/index-pack.c:655 builtin/index-pack.c:678
-#: builtin/index-pack.c:712 builtin/index-pack.c:721
+#: builtin/index-pack.c:661 builtin/index-pack.c:667 builtin/index-pack.c:690
+#: builtin/index-pack.c:724 builtin/index-pack.c:733
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "SỰ VA CHẠM SHA1 ĐàXẢY RA VỚI %s!"
 
-#: builtin/index-pack.c:652 builtin/pack-objects.c:170
+#: builtin/index-pack.c:664 builtin/pack-objects.c:170
 #: builtin/pack-objects.c:262
 #, c-format
 msgid "unable to read %s"
 msgstr "không thể đọc %s"
 
-#: builtin/index-pack.c:718
+#: builtin/index-pack.c:730
 #, 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:732
+#: builtin/index-pack.c:744
 #, c-format
 msgid "invalid blob object %s"
 msgstr "đối tượng blob không hợp lệ %s"
 
-#: builtin/index-pack.c:747
+#: builtin/index-pack.c:759
 #, c-format
 msgid "invalid %s"
 msgstr "%s không hợp lệ"
 
-#: builtin/index-pack.c:749
+#: builtin/index-pack.c:761
 msgid "Error in object"
 msgstr "Lỗi trong đối tượng"
 
-#: builtin/index-pack.c:751
+#: builtin/index-pack.c:763
 #, 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:821 builtin/index-pack.c:847
+#: builtin/index-pack.c:833 builtin/index-pack.c:863
 msgid "failed to apply delta"
 msgstr "gặp lỗi khi áp dụng delta"
 
-#: builtin/index-pack.c:986
+#: builtin/index-pack.c:1004
 msgid "Receiving objects"
 msgstr "Đang nhận về các đối tượng"
 
-#: builtin/index-pack.c:986
+#: builtin/index-pack.c:1004
 msgid "Indexing objects"
 msgstr "Các đối tượng bảng mục lục"
 
-#: builtin/index-pack.c:1012
+#: builtin/index-pack.c:1030
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "pack bị sai hỏng (SHA1 không khớp)"
 
-#: builtin/index-pack.c:1017
+#: builtin/index-pack.c:1035
 msgid "cannot fstat packfile"
 msgstr "không thể fstat packfile"
 
-#: builtin/index-pack.c:1020
+#: builtin/index-pack.c:1038
 msgid "pack has junk at the end"
 msgstr "pack có phần thừa ở cuối"
 
-#: builtin/index-pack.c:1031
+#: builtin/index-pack.c:1049
 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:1054
+#: builtin/index-pack.c:1072
 msgid "Resolving deltas"
 msgstr "Đang phân giải các delta"
 
-#: builtin/index-pack.c:1064
+#: builtin/index-pack.c:1082
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "không thể tạo tuyến: %s"
 
-#: builtin/index-pack.c:1106
+#: builtin/index-pack.c:1124
 msgid "confusion beyond insanity"
 msgstr "lộn xộn hơn cả điên rồ"
 
-#: builtin/index-pack.c:1112
+#: builtin/index-pack.c:1132
 #, c-format
 msgid "completed with %d local objects"
 msgstr "đầy đủ với %d đối tượng nội bộ"
 
-#: builtin/index-pack.c:1121
+#: builtin/index-pack.c:1142
 #, 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:1125
+#: builtin/index-pack.c:1146
 #, 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"
 
-#: builtin/index-pack.c:1150
+#: builtin/index-pack.c:1171
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "không thể xả đối tượng nối thêm (%d)"
 
-#: builtin/index-pack.c:1229
+#: builtin/index-pack.c:1250
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "đối tượng nội bộ %s bị hỏng"
 
-#: builtin/index-pack.c:1253
+#: builtin/index-pack.c:1274
 msgid "error while closing pack file"
 msgstr "gặp lỗi trong khi đóng tập tin pack"
 
-#: builtin/index-pack.c:1266
+#: builtin/index-pack.c:1287
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "không thể ghi tập tin giữ lại “%s”"
 
-#: builtin/index-pack.c:1274
+#: builtin/index-pack.c:1295
 #, 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:1287
+#: builtin/index-pack.c:1308
 msgid "cannot store pack file"
 msgstr "không thể lưu tập tin pack"
 
-#: builtin/index-pack.c:1298
+#: builtin/index-pack.c:1319
 msgid "cannot store index file"
 msgstr "không thể lưu trữ tập tin ghi mục lục"
 
-#: builtin/index-pack.c:1331
+#: builtin/index-pack.c:1352
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "sai pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1337
+#: builtin/index-pack.c:1358
 #, 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:1341 builtin/index-pack.c:1514
+#: builtin/index-pack.c:1362 builtin/index-pack.c:1535
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "không hỗ trợ đa tuyến, bỏ qua %s"
 
-#: builtin/index-pack.c:1399
+#: builtin/index-pack.c:1420
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Không thể mở tập tin pack đã sẵn có “%s”"
 
-#: builtin/index-pack.c:1401
+#: builtin/index-pack.c:1422
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "Không thể mở tập tin “pack idx” cho “%s”"
 
-#: builtin/index-pack.c:1448
+#: builtin/index-pack.c:1469
 #, 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:1455
+#: builtin/index-pack.c:1476
 #, 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:1482
+#: builtin/index-pack.c:1503
 msgid "Cannot come back to cwd"
 msgstr "Không thể quay lại cwd"
 
-#: builtin/index-pack.c:1526 builtin/index-pack.c:1529
-#: builtin/index-pack.c:1541 builtin/index-pack.c:1545
+#: builtin/index-pack.c:1547 builtin/index-pack.c:1550
+#: builtin/index-pack.c:1562 builtin/index-pack.c:1566
 #, c-format
 msgid "bad %s"
 msgstr "%s sai"
 
-#: builtin/index-pack.c:1559
+#: builtin/index-pack.c:1580
 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:1563 builtin/index-pack.c:1573
+#: builtin/index-pack.c:1584 builtin/index-pack.c:1594
 #, 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”"
 
-#: builtin/index-pack.c:1582
+#: builtin/index-pack.c:1603
 msgid "--verify with no packfile name given"
 msgstr "dùng tùy chọn --verify mà không đưa ra tên packfile"
 
@@ -5389,238 +5683,241 @@ msgstr "Không thể truy cập thư mục làm việc hiện hành"
 msgid "Cannot access work tree '%s'"
 msgstr "không thể truy cập cây (tree) làm việc “%s”"
 
-#: builtin/log.c:37
+#: builtin/log.c:40
 msgid "git log [<options>] [<since>..<until>] [[--] <path>...]\n"
 msgstr "git log [<các-tùy-chọn>] [<kể-từ>..<cho-đến>] [[--] <đường-dẫn>...]\n"
 
-#: builtin/log.c:38
+#: builtin/log.c:41
 msgid "   or: git show [options] <object>..."
-msgstr "   or: git show [các-tùy-chọn] <đối-tượng>..."
+msgstr "  hay: git show [các-tùy-chọn] <đối-tượng>..."
 
-#: builtin/log.c:100
+#: builtin/log.c:103
 msgid "suppress diff output"
 msgstr "chặn mọi kết xuất từ diff"
 
-#: builtin/log.c:101
+#: builtin/log.c:104
 msgid "show source"
 msgstr "hiển thị mã nguồn"
 
-#: builtin/log.c:102
+#: builtin/log.c:105
+msgid "Use mail map file"
+msgstr "Sử dụng tập tin ánh xạ thư"
+
+#: builtin/log.c:106
 msgid "decorate options"
 msgstr "các tùy chọn trang trí"
 
-#: builtin/log.c:189
+#: builtin/log.c:199
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "Kết xuất cuối cùng: %d %s\n"
 
-#: builtin/log.c:405 builtin/log.c:497
+#: builtin/log.c:422 builtin/log.c:514
 #, c-format
 msgid "Could not read object %s"
 msgstr "Không thể đọc đối tượng %s"
 
-#: builtin/log.c:521
+#: builtin/log.c:538
 #, c-format
 msgid "Unknown type: %d"
 msgstr "Không nhận ra kiểu: %d"
 
-#: builtin/log.c:613
+#: builtin/log.c:630
 msgid "format.headers without value"
 msgstr "format.headers không có giá trị cụ thể"
 
-#: builtin/log.c:687
+#: builtin/log.c:704
 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:698
+#: builtin/log.c:720
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "Không thể mở tập tin miếng vá: %s"
 
-#: builtin/log.c:712
+#: builtin/log.c:734
 msgid "Need exactly one range."
 msgstr "Cần chính xác một vùng."
 
-#: builtin/log.c:720
+#: builtin/log.c:742
 msgid "Not a range."
 msgstr "Không phải là một vùng."
 
-#: builtin/log.c:794
+#: builtin/log.c:815
 msgid "Cover letter needs email format"
 msgstr "”Cover letter” cần cho định dạng thư"
 
-#: builtin/log.c:867
+#: builtin/log.c:888
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to điên rồ: %s"
 
-#: builtin/log.c:895
+#: builtin/log.c:916
 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:940
+#: builtin/log.c:961
 msgid "Two output directories?"
 msgstr "Hai thư mục kết xuất?"
 
-#: builtin/log.c:1068
+#: builtin/log.c:1099
 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:1071
+#: builtin/log.c:1102
 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:1075
+#: builtin/log.c:1106
 msgid "print patches to standard out"
 msgstr "hiển thị miếng vá ra đầu ra chuẩn"
 
-#: builtin/log.c:1077
+#: builtin/log.c:1108
 msgid "generate a cover letter"
 msgstr "tạo bì thư"
 
-#: builtin/log.c:1079
+#: builtin/log.c:1110
 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:1080
+#: builtin/log.c:1111
 msgid "sfx"
 msgstr "sfx"
 
-#: builtin/log.c:1081
+#: builtin/log.c:1112
 msgid "use <sfx> instead of '.patch'"
 msgstr "sử dụng <sfx> thay cho “.patch”"
 
-#: builtin/log.c:1083
+#: builtin/log.c:1114
 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:1085
+#: builtin/log.c:1116
+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:1118
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "Dùng [<tiền-tố>] thay cho [VÁ]"
 
-#: builtin/log.c:1088
+#: builtin/log.c:1121
 msgid "store resulting files in <dir>"
 msgstr "lưu các tập tin kết quả trong <t.mục>"
 
-#: builtin/log.c:1091
+#: builtin/log.c:1124
 msgid "don't strip/add [PATCH]"
 msgstr "không strip/add [VÁ]"
 
-#: builtin/log.c:1094
+#: builtin/log.c:1127
 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:1096
+#: builtin/log.c:1129
 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:1098
+#: builtin/log.c:1131
 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:1100
+#: builtin/log.c:1133
 msgid "Messaging"
 msgstr "Lời nhắn"
 
-#: builtin/log.c:1101
+#: builtin/log.c:1134
 msgid "header"
 msgstr "đầu đề thư"
 
-#: builtin/log.c:1102
+#: builtin/log.c:1135
 msgid "add email header"
 msgstr "thêm đầu đề thư"
 
-#: builtin/log.c:1103 builtin/log.c:1105
+#: builtin/log.c:1136 builtin/log.c:1138
 msgid "email"
 msgstr "thư điện tử"
 
-#: builtin/log.c:1103
+#: builtin/log.c:1136
 msgid "add To: header"
 msgstr "thêm To: đầu đề thư"
 
-#: builtin/log.c:1105
+#: builtin/log.c:1138
 msgid "add Cc: header"
 msgstr "thêm Cc: đầu đề thư"
 
-#: builtin/log.c:1107
+#: builtin/log.c:1140
 msgid "message-id"
 msgstr "message-id"
 
-#: builtin/log.c:1108
+#: builtin/log.c:1141
 msgid "make first mail a reply to <message-id>"
 msgstr "dùng thư đầu tiên để trả lời <message-id>"
 
-#: builtin/log.c:1109 builtin/log.c:1112
+#: builtin/log.c:1142 builtin/log.c:1145
 msgid "boundary"
 msgstr "ranh giới"
 
-#: builtin/log.c:1110
+#: builtin/log.c:1143
 msgid "attach the patch"
 msgstr "đính kèm miếng vá"
 
-#: builtin/log.c:1113
+#: builtin/log.c:1146
 msgid "inline the patch"
 msgstr "dùng miếng vá làm nội dung"
 
-#: builtin/log.c:1117
+#: builtin/log.c:1150
 msgid "enable message threading, styles: shallow, deep"
 msgstr "cho phép luồng lời nhắn, kiểu: “shallow”, “deep”"
 
-#: builtin/log.c:1119
+#: builtin/log.c:1152
 msgid "signature"
 msgstr "chữ ký"
 
-#: builtin/log.c:1120
+#: builtin/log.c:1153
 msgid "add a signature"
 msgstr "thêm chữ ký"
 
-#: builtin/log.c:1122
+#: builtin/log.c:1155
 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:1163
-#, c-format
-msgid "bogus committer info %s"
-msgstr "thông tin người chuyển giao không có thực %s"
-
-#: builtin/log.c:1208
+#: builtin/log.c:1239
 msgid "-n and -k are mutually exclusive."
 msgstr "-n và  -k loại từ lẫn nhau."
 
-#: builtin/log.c:1210
+#: builtin/log.c:1241
 msgid "--subject-prefix and -k are mutually exclusive."
 msgstr "--subject-prefix và -k xung khắc nhau."
 
-#: builtin/log.c:1218
+#: builtin/log.c:1249
 msgid "--name-only does not make sense"
 msgstr "--name-only không hợp lý"
 
-#: builtin/log.c:1220
+#: builtin/log.c:1251
 msgid "--name-status does not make sense"
 msgstr "--name-status không hợp lý"
 
-#: builtin/log.c:1222
+#: builtin/log.c:1253
 msgid "--check does not make sense"
 msgstr "--check không hợp lý"
 
-#: builtin/log.c:1245
+#: builtin/log.c:1276
 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:1247
+#: builtin/log.c:1278
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "Không thể tạo thư mục “%s”"
 
-#: builtin/log.c:1400
+#: builtin/log.c:1431
 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:1449
+#: builtin/log.c:1480
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<thượng-nguồn> [<head> [<giới-hạn>]]]"
 
-#: builtin/log.c:1504
+#: builtin/log.c:1535
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -5628,103 +5925,103 @@ msgstr ""
 "Không tìm thấy nhánh mạng bị theo vết, hãy chỉ định <thượng-nguồn> một cách "
 "thủ công.\n"
 
-#: builtin/log.c:1517 builtin/log.c:1519 builtin/log.c:1531
+#: builtin/log.c:1548 builtin/log.c:1550 builtin/log.c:1562
 #, c-format
 msgid "Unknown commit %s"
 msgstr "Không hiểu lần chuyển giao (commit) %s"
 
-#: builtin/ls-files.c:408
+#: builtin/ls-files.c:409
 msgid "git ls-files [options] [<file>...]"
 msgstr "git ls-files [các-tùy-chọn] [<tập-tin>...]"
 
-#: builtin/ls-files.c:463
+#: builtin/ls-files.c:466
 msgid "identify the file status with tags"
 msgstr "nhận dạng các trạng thái tập tin với thẻ"
 
-#: builtin/ls-files.c:465
+#: builtin/ls-files.c:468
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr ""
 "dùng chữ cái viết thường cho các tập tin “assume unchanged” (giả định không "
 "thay đổi)"
 
-#: builtin/ls-files.c:467
+#: builtin/ls-files.c:470
 msgid "show cached files in the output (default)"
 msgstr "hiển thị các tập tin được nhớ tạm vào đầu ra (mặc định)"
 
-#: builtin/ls-files.c:469
+#: builtin/ls-files.c:472
 msgid "show deleted files in the output"
 msgstr "hiển thị các tập tin đã xóa trong kết xuất"
 
-#: builtin/ls-files.c:471
+#: builtin/ls-files.c:474
 msgid "show modified files in the output"
 msgstr "hiển thị các tập tin đã bị sửa đổi ra kết xuất"
 
-#: builtin/ls-files.c:473
+#: builtin/ls-files.c:476
 msgid "show other files in the output"
 msgstr "hiển thị các tập tin khác trong kết xuất"
 
-#: builtin/ls-files.c:475
+#: builtin/ls-files.c:478
 msgid "show ignored files in the output"
 msgstr "hiển thị các tập tin bị bỏ qua trong kết xuất"
 
-#: builtin/ls-files.c:478
+#: builtin/ls-files.c:481
 msgid "show staged contents' object name in the output"
 msgstr "hiển thị tên đối tượng của nội dung được lưu trạng thái ở kết xuất"
 
-#: builtin/ls-files.c:480
+#: builtin/ls-files.c:483
 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:482
+#: builtin/ls-files.c:485
 msgid "show 'other' directories' name only"
 msgstr "chỉ hiển thị tên của các thư mục “khác”"
 
-#: builtin/ls-files.c:485
+#: builtin/ls-files.c:488
 msgid "don't show empty directories"
 msgstr "không hiển thị thư mục rỗng"
 
-#: builtin/ls-files.c:488
+#: builtin/ls-files.c:491
 msgid "show unmerged files in the output"
 msgstr "hiển thị các tập tin chưa hòa trộn trong kết xuất"
 
-#: builtin/ls-files.c:490
+#: builtin/ls-files.c:493
 msgid "show resolve-undo information"
 msgstr "hiển thị thông tin resolve-undo"
 
-#: builtin/ls-files.c:492
+#: builtin/ls-files.c:495
 msgid "skip files matching pattern"
 msgstr "bỏ qua những tập tin khớp với một mẫu"
 
-#: builtin/ls-files.c:495
+#: builtin/ls-files.c:498
 msgid "exclude patterns are read from <file>"
 msgstr "mẫu loại trừ được đọc từ <tập tin>"
 
-#: builtin/ls-files.c:498
+#: builtin/ls-files.c:501
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "đọc thêm các mẫu ngoại trừ mỗi thư mục trong <tập tin>"
 
-#: builtin/ls-files.c:500
+#: builtin/ls-files.c:503
 msgid "add the standard git exclusions"
 msgstr "thêm loại trừ tiêu chuẩn kiểu git"
 
-#: builtin/ls-files.c:503
+#: builtin/ls-files.c:506
 msgid "make the output relative to the project top directory"
 msgstr "làm cho kết xuất liên quan đến thư mục ở mức cao nhất (gốc) của dự án"
 
-#: builtin/ls-files.c:506
+#: builtin/ls-files.c:509
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "nếu <tập tin> bất kỳ không ở trong bảng mục lục, xử lý nó như một lỗi"
 
-#: builtin/ls-files.c:507
+#: builtin/ls-files.c:510
 msgid "tree-ish"
 msgstr "tree-ish"
 
-#: builtin/ls-files.c:508
+#: builtin/ls-files.c:511
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr ""
 "giả định rằng các đường dẫn đã bị gỡ bỏ kể từ <tree-ish> nay vẫn hiện diện"
 
-#: builtin/ls-files.c:510
+#: builtin/ls-files.c:513
 msgid "show debugging data"
 msgstr "hiển thị dữ liệu gỡ lỗi"
 
@@ -5778,7 +6075,7 @@ msgstr "git merge --abort"
 
 #: builtin/merge.c:90
 msgid "switch `m' requires a value"
-msgstr "switch `m' yêu cầu một giá trị"
+msgstr "switch “m” yêu cầu một giá trị"
 
 #: builtin/merge.c:127
 #, c-format
@@ -5831,176 +6128,181 @@ msgstr "cho phép fast-forward (mặc định)"
 msgid "abort if fast-forward is not possible"
 msgstr "bỏ qua nếu fast-forward không thể được"
 
-#: builtin/merge.c:202 builtin/notes.c:870 builtin/revert.c:112
+#: builtin/merge.c:203
+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:204 builtin/notes.c:866 builtin/revert.c:112
 msgid "strategy"
 msgstr "chiến lược"
 
-#: builtin/merge.c:203
+#: builtin/merge.c:205
 msgid "merge strategy to use"
 msgstr "chiến lược hòa trộn sẽ dùng"
 
-#: builtin/merge.c:204
+#: builtin/merge.c:206
 msgid "option=value"
 msgstr "tùy_chọn=giá_trị"
 
-#: builtin/merge.c:205
+#: builtin/merge.c:207
 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:207
+#: builtin/merge.c:209
 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:211
+#: builtin/merge.c:213
 msgid "abort the current in-progress merge"
 msgstr "bãi bỏ quá trình hòa trộn hiện tại đang thực hiện"
 
-#: builtin/merge.c:240
+#: builtin/merge.c:242
 msgid "could not run stash."
 msgstr "không thể chạy stash."
 
-#: builtin/merge.c:245
+#: builtin/merge.c:247
 msgid "stash failed"
 msgstr "stash gặp lỗi"
 
-#: builtin/merge.c:250
+#: builtin/merge.c:252
 #, c-format
 msgid "not a valid object: %s"
 msgstr "không phải là một đối tượng hợp lệ: %s"
 
-#: builtin/merge.c:269 builtin/merge.c:286
+#: builtin/merge.c:271 builtin/merge.c:288
 msgid "read-tree failed"
 msgstr "read-tree gặp lỗi"
 
-#: builtin/merge.c:316
+#: builtin/merge.c:318
 msgid " (nothing to squash)"
 msgstr " (không có gì để squash)"
 
-#: builtin/merge.c:329
+#: builtin/merge.c:331
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Squash commit -- không cập nhật HEAD\n"
 
-#: builtin/merge.c:361
+#: builtin/merge.c:363
 msgid "Writing SQUASH_MSG"
 msgstr "Đang ghi SQUASH_MSG"
 
-#: builtin/merge.c:363
+#: builtin/merge.c:365
 msgid "Finishing SQUASH_MSG"
 msgstr "Hoàn thành SQUASH_MSG"
 
-#: builtin/merge.c:386
+#: builtin/merge.c:388
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Không thông điệp hòa trộn -- không cập nhật HEAD\n"
 
-#: builtin/merge.c:436
+#: builtin/merge.c:438
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "“%s” không chỉ đến một lần chuyển giao (commit) nào cả"
 
-#: builtin/merge.c:535
+#: builtin/merge.c:550
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Chuỗi branch.%s.mergeoptions sai: %s"
 
-#: builtin/merge.c:628
+#: builtin/merge.c:643
 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:656
+#: builtin/merge.c:671
 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:670
+#: builtin/merge.c:685
 #, 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:684
+#: builtin/merge.c:699
 #, c-format
 msgid "unable to write %s"
 msgstr "không thể ghi %s"
 
-#: builtin/merge.c:773
+#: builtin/merge.c:788
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Không thể đọc từ “%s”"
 
-#: builtin/merge.c:782
+#: builtin/merge.c:797
 #, 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 (commit); sử dụng lệnh “git commit” để "
 "hoàn tất việc hòa trộn.\n"
 
-#: builtin/merge.c:788
+#: builtin/merge.c:803
+#, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
 "especially if it merges an updated upstream into a topic branch.\n"
 "\n"
-"Lines starting with '#' will be ignored, and an empty message aborts\n"
+"Lines starting with '%c' will be ignored, and an empty message aborts\n"
 "the commit.\n"
 msgstr ""
 "Hãy nhập vào các thông tin để giải thích tại sao sự hòa trộn này là cần "
 "thiết,\n"
-"đặc biệt là khi nó hòa trộn thượng nguồn đã cập nhật vào trong một nhánh "
+"đặc biệt là khi nó hòa trộn ngược dòng đã cập nhật vào trong một nhánh "
 "topic.\n"
 "\n"
-"Những dòng được bắt đầu bằng “#” sẽ được bỏ qua, và phần chú thích này nếu "
+"Những dòng được bắt đầu bằng “%c” sẽ được bỏ qua, và phần chú thích này nếu "
 "rỗng\n"
-"sẽ làm hủy bỏ lần chuyển giao (commit).\n"
+"sẽ hủy bỏ lần chuyển giao (commit).\n"
 
-#: builtin/merge.c:812
+#: builtin/merge.c:827
 msgid "Empty commit message."
 msgstr "Chú thích của lần commit (chuyển giao) bị trống rỗng."
 
-#: builtin/merge.c:824
+#: builtin/merge.c:839
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Thần kỳ.\n"
 
-#: builtin/merge.c:889
+#: builtin/merge.c:904
 #, 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 "
 "(commit) kết quả.\n"
 
-#: builtin/merge.c:905
+#: builtin/merge.c:920
 #, 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:946
+#: builtin/merge.c:961
 msgid "No current branch."
 msgstr "không phải nhánh hiện hành"
 
-#: builtin/merge.c:948
+#: builtin/merge.c:963
 msgid "No remote for the current branch."
 msgstr "Không có máy chủ cho nhánh hiện hành."
 
-#: builtin/merge.c:950
+#: builtin/merge.c:965
 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:955
+#: builtin/merge.c:970
 #, c-format
 msgid "No remote tracking branch for %s from %s"
 msgstr "Không nhánh mạng theo vết cho %s từ %s"
 
-#: builtin/merge.c:1042 builtin/merge.c:1199
+#: builtin/merge.c:1057 builtin/merge.c:1214
 #, 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:1110
+#: builtin/merge.c:1125
 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:1126 git-pull.sh:31
+#: builtin/merge.c:1141 git-pull.sh:31
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you can merge."
@@ -6008,11 +6310,11 @@ msgstr ""
 "Bạn chưa kết thúc việc hòa trộng (MERGE_HEAD vẫn tồn tại).\n"
 "Hãy chuyển giao (commit) các thay đổi trước khi bạn có thể hòa trộn."
 
-#: builtin/merge.c:1129 git-pull.sh:34
+#: builtin/merge.c:1144 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:1133
+#: builtin/merge.c:1148
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you can merge."
@@ -6020,85 +6322,107 @@ 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 (commit) các thay đổi trước khi bạn có thể hòa trộn."
 
-#: builtin/merge.c:1136
+#: builtin/merge.c:1151
 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:1145
+#: builtin/merge.c:1160
 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:1150
+#: builtin/merge.c:1165
 msgid "You cannot combine --no-ff with --ff-only."
 msgstr "Bạn không thể kết hợp --no-ff với --ff-only."
 
-#: builtin/merge.c:1157
+#: builtin/merge.c:1172
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr ""
 "Không chỉ ra lần chuyển giao (commit) và merge.defaultToUpstream chưa được "
 "đặt."
 
-#: builtin/merge.c:1189
+#: builtin/merge.c:1204
 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 (commit) vào một "
 "head rỗng"
 
-#: builtin/merge.c:1192
+#: builtin/merge.c:1207
 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:1194
+#: builtin/merge.c:1209
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr ""
 "Chuyển giao (commit) không-fast-forward không hợp lý ở trong một head trống "
 "rỗng"
 
-#: builtin/merge.c:1309
+#: builtin/merge.c:1265
+#, 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:1268
+#, c-format
+msgid "Commit %s has a bad GPG signature allegedly by %s."
+msgstr "Lần chuyển giao %s có một chữ ký GPG sai, được cho là bởi %s."
+
+#. 'N'
+#: builtin/merge.c:1271
+#, c-format
+msgid "Commit %s does not have a GPG signature."
+msgstr "Lần chuyển giao (commit) %s không có chữ ký GPG."
+
+#: builtin/merge.c:1274
+#, 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:1358
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Đang cập nhật %s..%s\n"
 
-#: builtin/merge.c:1348
+#: builtin/merge.c:1397
 #, 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:1355
+#: builtin/merge.c:1404
 #, c-format
 msgid "Nope.\n"
 msgstr "Không.\n"
 
-#: builtin/merge.c:1387
+#: builtin/merge.c:1436
 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:1410 builtin/merge.c:1489
+#: builtin/merge.c:1459 builtin/merge.c:1538
 #, 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:1414
+#: builtin/merge.c:1463
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Đang thử chiến lược hòa trộn %s...\n"
 
-#: builtin/merge.c:1480
+#: builtin/merge.c:1529
 #, 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:1482
+#: builtin/merge.c:1531
 #, 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:1491
+#: builtin/merge.c:1540
 #, 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:1503
+#: builtin/merge.c:1552
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -6302,7 +6626,7 @@ msgstr "đọc từ đầu vào tiêu chuẩn"
 
 #: builtin/name-rev.c:236
 msgid "allow to print `undefined` names"
-msgstr "cho phép hiển thị các tên `chưa định nghĩa`"
+msgstr "cho phép hiển thị các tên “chưa định nghĩa“"
 
 #: builtin/notes.c:26
 msgid "git notes [--ref <notes_ref>] [list [<object>]]"
@@ -6414,142 +6738,137 @@ msgstr "git notes prune [<các-tùy-chọn>]"
 msgid "git notes get-ref"
 msgstr "git notes get-ref"
 
-#: builtin/notes.c:142
+#: builtin/notes.c:139
 #, 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:148
-msgid "can't fdopen 'show' output fd"
-msgstr "không thể fdopen “show” (lệnh hiển thị) mô tả tập tin (fd) kết xuất"
+#: builtin/notes.c:143
+msgid "could not read 'show' output"
+msgstr "không thể đọc kết xuất “show”"
 
-#: builtin/notes.c:158
-#, c-format
-msgid "failed to close pipe to 'show' for object '%s'"
-msgstr "gặp lỗi khi đóng đường ống cho lệnh “show” cho đối tượng “%s”"
-
-#: builtin/notes.c:161
+#: builtin/notes.c:151
 #, 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:178 builtin/tag.c:347
+#: builtin/notes.c:169 builtin/tag.c:341
 #, c-format
 msgid "could not create file '%s'"
 msgstr "không thể tạo tập tin “%s”"
 
-#: builtin/notes.c:192
+#: builtin/notes.c:188
 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:213 builtin/notes.c:976
+#: builtin/notes.c:209 builtin/notes.c:972
 #, 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:218
+#: builtin/notes.c:214
 msgid "unable to write note object"
 msgstr "không thể ghi đối tượng ghi chú (note)"
 
-#: builtin/notes.c:220
+#: builtin/notes.c:216
 #, c-format
 msgid "The note contents has been left in %s"
 msgstr "Nội dung ghi chú còn lại %s"
 
-#: builtin/notes.c:254 builtin/tag.c:542
+#: builtin/notes.c:250 builtin/tag.c:540
 #, c-format
 msgid "cannot read '%s'"
 msgstr "không thể đọc “%s”"
 
-#: builtin/notes.c:256 builtin/tag.c:545
+#: builtin/notes.c:252 builtin/tag.c:543
 #, c-format
 msgid "could not open or read '%s'"
-msgstr "không thể mở để đọc hay ghi “%s”"
+msgstr "không thể mở hay đọc “%s”"
 
-#: builtin/notes.c:275 builtin/notes.c:448 builtin/notes.c:450
-#: builtin/notes.c:510 builtin/notes.c:564 builtin/notes.c:647
-#: builtin/notes.c:652 builtin/notes.c:727 builtin/notes.c:769
-#: builtin/notes.c:971 builtin/reset.c:293 builtin/tag.c:558
+#: builtin/notes.c:271 builtin/notes.c:444 builtin/notes.c:446
+#: builtin/notes.c:506 builtin/notes.c:560 builtin/notes.c:643
+#: builtin/notes.c:648 builtin/notes.c:723 builtin/notes.c:765
+#: builtin/notes.c:967 builtin/tag.c:556
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
-msgstr "Gặp lỗi khi giải quyết “%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 (ref) hợp lệ."
 
-#: builtin/notes.c:278
+#: builtin/notes.c:274
 #, c-format
 msgid "Failed to read object '%s'."
 msgstr "Gặp lỗi khi đọc đối tượng “%s”."
 
-#: builtin/notes.c:302
+#: builtin/notes.c:298
 msgid "Cannot commit uninitialized/unreferenced notes tree"
 msgstr ""
 "Không thể chuyển giao (commit) chưa được khởi tạo hoặc không được tham chiếu "
 "cây ghi chú"
 
-#: builtin/notes.c:343
+#: builtin/notes.c:339
 #, c-format
 msgid "Bad notes.rewriteMode value: '%s'"
 msgstr "Giá trị notes.rewriteMode sai: “%s”"
 
-#: builtin/notes.c:353
+#: builtin/notes.c:349
 #, c-format
 msgid "Refusing to rewrite notes in %s (outside of refs/notes/)"
 msgstr "Từ chối ghi đè ghi chú trong %s (nằm ngoài của refs/notes/)"
 
 #. TRANSLATORS: The first %s is the name of the
 #. environment variable, the second %s is its value
-#: builtin/notes.c:380
+#: builtin/notes.c:376
 #, c-format
 msgid "Bad %s value: '%s'"
 msgstr "Giá trị %s sai: “%s”"
 
-#: builtin/notes.c:444
+#: builtin/notes.c:440
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Dòng nhập vào dị hình: “%s”."
 
-#: builtin/notes.c:459
+#: builtin/notes.c:455
 #, 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:503 builtin/notes.c:557 builtin/notes.c:630
-#: builtin/notes.c:642 builtin/notes.c:715 builtin/notes.c:762
-#: builtin/notes.c:1036
+#: builtin/notes.c:499 builtin/notes.c:553 builtin/notes.c:626
+#: builtin/notes.c:638 builtin/notes.c:711 builtin/notes.c:758
+#: builtin/notes.c:1032
 msgid "too many parameters"
 msgstr "quá nhiều đối số"
 
-#: builtin/notes.c:516 builtin/notes.c:775
+#: builtin/notes.c:512 builtin/notes.c:771
 #, 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:538 builtin/notes.c:695
+#: builtin/notes.c:534 builtin/notes.c:691
 msgid "note contents as a string"
 msgstr "nội dung ghi chú (note) nằm trong một chuỗi"
 
-#: builtin/notes.c:541 builtin/notes.c:698
+#: builtin/notes.c:537 builtin/notes.c:694
 msgid "note contents in a file"
 msgstr "nội dung ghi chú (note) nằm trong một tập tin"
 
-#: builtin/notes.c:543 builtin/notes.c:546 builtin/notes.c:700
-#: builtin/notes.c:703 builtin/tag.c:476
+#: builtin/notes.c:539 builtin/notes.c:542 builtin/notes.c:696
+#: builtin/notes.c:699 builtin/tag.c:474
 msgid "object"
 msgstr "đối tượng"
 
-#: builtin/notes.c:544 builtin/notes.c:701
+#: builtin/notes.c:540 builtin/notes.c:697
 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:547 builtin/notes.c:704
+#: builtin/notes.c:543 builtin/notes.c:700
 msgid "reuse specified note object"
 msgstr "dùng lại đối tượng ghi chú (note) đã chỉ ra"
 
-#: builtin/notes.c:549 builtin/notes.c:617
+#: builtin/notes.c:545 builtin/notes.c:613
 msgid "replace existing notes"
 msgstr "thay thế ghi chú trước"
 
-#: builtin/notes.c:583
+#: builtin/notes.c:579
 #, c-format
 msgid ""
 "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -6558,24 +6877,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:588 builtin/notes.c:665
+#: builtin/notes.c:584 builtin/notes.c:661
 #, 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:618
+#: builtin/notes.c:614
 msgid "read objects from stdin"
 msgstr "đọc các đối tượng từ đầu vào tiêu chuẩn"
 
-#: builtin/notes.c:620
+#: builtin/notes.c:616
 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:638
+#: builtin/notes.c:634
 msgid "too few parameters"
 msgstr "quá ít đối số"
 
-#: builtin/notes.c:659
+#: builtin/notes.c:655
 #, c-format
 msgid ""
 "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -6584,12 +6903,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:671
+#: builtin/notes.c:667
 #, 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:720
+#: builtin/notes.c:716
 #, c-format
 msgid ""
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -6598,15 +6917,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:867
+#: builtin/notes.c:863
 msgid "General options"
 msgstr "Tùy chọn chung"
 
-#: builtin/notes.c:869
+#: builtin/notes.c:865
 msgid "Merge options"
 msgstr "Tùy chọn về hòa trộn"
 
-#: builtin/notes.c:871
+#: builtin/notes.c:867
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
@@ -6614,46 +6933,46 @@ 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:873
+#: builtin/notes.c:869
 msgid "Committing unmerged notes"
 msgstr "Chuyển giao các note chưa được hòa trộn"
 
-#: builtin/notes.c:875
+#: builtin/notes.c:871
 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:877
+#: builtin/notes.c:873
 msgid "Aborting notes merge resolution"
 msgstr "Hủy bỏ phân giải ghi chú (note) hòa trộn"
 
-#: builtin/notes.c:879
+#: builtin/notes.c:875
 msgid "abort notes merge"
 msgstr "bỏ qua hòa trộn các ghi chú (note)"
 
-#: builtin/notes.c:974
+#: builtin/notes.c:970
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "Đối tượng %s không có ghi chú (note)\n"
 
-#: builtin/notes.c:986
+#: builtin/notes.c:982
 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:989
+#: builtin/notes.c:985
 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:1070
+#: builtin/notes.c:1066
 msgid "notes_ref"
 msgstr "notes_ref"
 
-#: builtin/notes.c:1071
+#: builtin/notes.c:1067
 msgid "use notes from <notes_ref>"
 msgstr "dùng “notes” từ <notes_ref>"
 
-#: builtin/notes.c:1106 builtin/remote.c:1598
+#: builtin/notes.c:1102 builtin/remote.c:1598
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "Không hiểu câu lệnh con: %s"
@@ -7023,22 +7342,54 @@ msgstr ""
 "Xem trong phần “Note about fast-forwards” từ lệnh “git push --help” để có "
 "thông tin chi tiết."
 
-#: builtin/push.c:258
+#: builtin/push.c:224
+msgid ""
+"Updates were rejected because the remote contains work that you do\n"
+"not have locally. This is usually caused by another repository pushing\n"
+"to the same ref. You may want to first merge the remote changes (e.g.,\n"
+"'git pull') before pushing again.\n"
+"See the 'Note about fast-forwards' in 'git push --help' for details."
+msgstr ""
+"Việc cập nhật bị từ chối bởi vì máy chủ có chứa công việc mà bạn không\n"
+"có ở máy nội bộ của mình. Lỗi này thường có nguyên nhân bởi kho khác đẩy dữ "
+"liệu lên\n"
+"cùng một tham chiếu. Bạn có lẽ muốn hòa trộn với các thay đổi từ máy chủ\n"
+"(v.d. “git pull”) trước khi lại push lần nữa.\n"
+"Xem trong phần “Note about fast-forwards” từ lệnh “git push --help” để có "
+"thông tin chi tiết."
+
+#: builtin/push.c:231
+msgid "Updates were rejected because the tag already exists in the remote."
+msgstr "Việc cập nhật bị từ chối bởi vì thẻ đã sẵn có từ trước trên máy chủ."
+
+#: builtin/push.c:234
+msgid ""
+"You cannot update a remote ref that points at a non-commit object,\n"
+"or update a remote ref to make it point at a non-commit object,\n"
+"without using the '--force' option.\n"
+msgstr ""
+"Không thể cập nhật một tham chiếu trên máy chủ mà nó chỉ đến đối tượng "
+"không\n"
+"phải chuyển giao, hoặc cập nhật một tham chiếu máy chủ để nó chỉ đến đối "
+"tượng\n"
+"không phải chuyển giao, mà không sử dụng tùy chọn “--force”.\n"
+
+#: builtin/push.c:294
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "Đang push (đẩy) lên %s\n"
 
-#: builtin/push.c:262
+#: builtin/push.c:298
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "gặp lỗi khi push (đẩy lên) một số tham chiếu (ref) đến “%s”"
 
-#: builtin/push.c:294
+#: builtin/push.c:331
 #, c-format
 msgid "bad repository '%s'"
 msgstr "repository (kho) sai “%s”"
 
-#: builtin/push.c:295
+#: builtin/push.c:332
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -7059,80 +7410,88 @@ msgstr ""
 "\n"
 "    git push <tên>\n"
 
-#: builtin/push.c:310
+#: builtin/push.c:347
 msgid "--all and --tags are incompatible"
 msgstr "--all và --tags xung khắc nhau"
 
-#: builtin/push.c:311
+#: builtin/push.c:348
 msgid "--all can't be combined with refspecs"
 msgstr "--all không thể được tổ hợp cùng với refspecs"
 
-#: builtin/push.c:316
+#: builtin/push.c:353
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror và --tags xung khắc nhau"
 
-#: builtin/push.c:317
+#: builtin/push.c:354
 msgid "--mirror can't be combined with refspecs"
 msgstr "--mirror không thể được tổ hợp cùng với refspecs"
 
-#: builtin/push.c:322
+#: builtin/push.c:359
 msgid "--all and --mirror are incompatible"
 msgstr "--all và --mirror xung khắc nhau"
 
-#: builtin/push.c:382
+#: builtin/push.c:419
 msgid "repository"
 msgstr "kho"
 
-#: builtin/push.c:383
+#: builtin/push.c:420
 msgid "push all refs"
 msgstr "push tất cả refs"
 
-#: builtin/push.c:384
+#: builtin/push.c:421
 msgid "mirror all refs"
 msgstr "mirror tất cả refs"
 
-#: builtin/push.c:386
+#: builtin/push.c:423
 msgid "delete refs"
 msgstr "xóa refs"
 
-#: builtin/push.c:387
+#: builtin/push.c:424
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr ""
 "các thẻ push (không thể sử dụng cùng với các tùy chọn --all hay --mirror)"
 
-#: builtin/push.c:390
+#: builtin/push.c:427
 msgid "force updates"
 msgstr "ép buộc cập nhật"
 
-#: builtin/push.c:391
+#: builtin/push.c:428
 msgid "check"
 msgstr "kiểm tra"
 
-#: builtin/push.c:392
+#: builtin/push.c:429
 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:394
+#: builtin/push.c:431
 msgid "use thin pack"
 msgstr "tạo gói nhẹ"
 
-#: builtin/push.c:395 builtin/push.c:396
+#: builtin/push.c:432 builtin/push.c:433
 msgid "receive pack program"
 msgstr "nhận về chương trình pack"
 
-#: builtin/push.c:397
+#: builtin/push.c:434
 msgid "set upstream for git pull/status"
 msgstr "đặt thượng nguồn (upstream) cho git pull/status"
 
-#: builtin/push.c:400
+#: builtin/push.c:437
 msgid "prune locally removed refs"
 msgstr "prune (cắt cụt) những tham chiếu (refs) bị gỡ bỏ"
 
-#: builtin/push.c:410
+#: builtin/push.c:439
+msgid "bypass pre-push hook"
+msgstr "vòng qua “pre-push hook”"
+
+#: builtin/push.c:440
+msgid "push missing but relevant tags"
+msgstr "push bị trượt nhưng các thẻ thích hợp"
+
+#: builtin/push.c:450
 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:412
+#: builtin/push.c:452
 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"
 
@@ -7372,11 +7731,11 @@ msgstr "Không thể lấy ánh xạ (map) fetch cho refspec %s"
 
 #: builtin/remote.c:440 builtin/remote.c:448
 msgid "(matching)"
-msgstr "(mẫu)"
+msgstr "(khớp)"
 
 #: builtin/remote.c:452
 msgid "(delete)"
-msgstr "(x)"
+msgstr "(xóa)"
 
 #: builtin/remote.c:595 builtin/remote.c:601 builtin/remote.c:607
 #, c-format
@@ -7655,7 +8014,7 @@ msgstr " * [nên xén bớt] %s"
 #: builtin/remote.c:1298
 #, c-format
 msgid " * [pruned] %s"
-msgstr " *[đã xén bớ] %s"
+msgstr " *[đã bị xén] %s"
 
 #: builtin/remote.c:1321
 msgid "prune remotes after fetching"
@@ -7747,12 +8106,12 @@ msgstr ""
 "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
 
 #: builtin/reset.c:26
-msgid "git reset [-q] <commit> [--] <paths>..."
-msgstr "git reset [-q] <commit> [--] <các-đường-dẫn>..."
+msgid "git reset [-q] <tree-ish> [--] <paths>..."
+msgstr "git reset [-q] <tree-ish> [--] <đường-dẫn>..."
 
 #: builtin/reset.c:27
-msgid "git reset --patch [<commit>] [--] [<paths>...]"
-msgstr "git reset --patch [<commit>] [--] [<các-đường-dẫn>...]"
+msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
+msgstr "git reset --patch [<tree-ish>] [--] [<các-đường-dẫn>...]"
 
 #: builtin/reset.c:33
 msgid "mixed"
@@ -7774,98 +8133,104 @@ msgstr "hòa trộn"
 msgid "keep"
 msgstr "giữ lại"
 
-#: builtin/reset.c:77
+#: builtin/reset.c:73
 msgid "You do not have a valid HEAD."
 msgstr "Bạn không có HEAD nào hợp lệ."
 
-#: builtin/reset.c:79
+#: builtin/reset.c:75
 msgid "Failed to find tree of HEAD."
 msgstr "Gặp lỗi khi tìm cây của HEAD."
 
-#: builtin/reset.c:85
+#: builtin/reset.c:81
 #, 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:96
-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/reset.c:106
+#: builtin/reset.c:98
 #, c-format
 msgid "HEAD is now at %s"
 msgstr "HEAD hiện giờ tại %s"
 
-#: builtin/reset.c:130
-msgid "Could not read index"
-msgstr "Không thể đọc bảng mục lục"
-
-#: builtin/reset.c:133
-msgid "Unstaged changes after reset:"
-msgstr "Những thay đổi bị bỏ trạng thái (stage) sau khi reset:"
-
-#: builtin/reset.c:223
+#: builtin/reset.c:169
 #, 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:238
+#: builtin/reset.c:248
 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:240
+#: builtin/reset.c:250
 msgid "reset HEAD and index"
 msgstr "đặt lại (reset) HEAD và bảng mục lục"
 
-#: builtin/reset.c:241
+#: builtin/reset.c:251
 msgid "reset only HEAD"
 msgstr "chỉ đặt lại (reset) HEAD"
 
-#: builtin/reset.c:243 builtin/reset.c:245
+#: builtin/reset.c:253 builtin/reset.c:255
 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:247
+#: builtin/reset.c:257
 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:303
+#: builtin/reset.c:275
+#, 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:278 builtin/reset.c:286
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "không thể phân tích đối tượng “%s”."
 
-#: builtin/reset.c:308
+#: builtin/reset.c:283
+#, 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:292
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch xung khắc với --{hard,mixed,soft}"
 
-#: builtin/reset.c:317
+#: builtin/reset.c:301
 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:319
+#: builtin/reset.c:303
 #, 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:331
+#: builtin/reset.c:313
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr "%s reset không được phép trên kho bare (trên máy chủ)"
 
-#: builtin/reset.c:347
+#: builtin/reset.c:333
 #, 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 lại “%s”."
 
+#: builtin/reset.c:339
+msgid "Unstaged changes after reset:"
+msgstr "Những thay đổi bị bỏ trạng thái (stage) sau khi reset:"
+
+#: builtin/reset.c:344
+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:339
 msgid "git rev-parse --parseopt [options] -- [<args>...]"
 msgstr "git rev-parse --parseopt [các-tùy-chọn] -- [<th.số>...]"
 
 #: builtin/rev-parse.c:344
 msgid "keep the `--` passed as an arg"
-msgstr "giữ `--` chuyển qua làm tham số"
+msgstr "giữ “--“ chuyển qua làm tham số"
 
 #: builtin/rev-parse.c:346
 msgid "stop parsing after the first non-option argument"
@@ -7984,8 +8349,8 @@ msgid ""
 "submodule '%s' (or one of its nested submodules) uses a .git directory\n"
 "(use 'rm -rf' if you really want to remove it including all of its history)"
 msgstr ""
-"mô-đun-con '%s' (hoặc cái nằm trong các mô-đun-con) dùng thư mục .git\n"
-"(dùng 'rm -rf' nếu bạn thực sự muốn gỡ bỏ nó cùng với tất cả lịch sử của "
+"mô-đun-con “%s” (hoặc cái nằm trong các mô-đun-con) dùng thư mục .git\n"
+"(dùng “rm -rf” nếu bạn thực sự muốn gỡ bỏ nó cùng với tất cả lịch sử của "
 "chúng)"
 
 #: builtin/rm.c:174
@@ -8049,28 +8414,28 @@ msgstr "git rm: không thể gỡ bỏ %s"
 msgid "git shortlog [-n] [-s] [-e] [-w] [rev-opts] [--] [<commit-id>... ]"
 msgstr "git shortlog [-n] [-s] [-e] [-w] [rev-opts] [--] [<commit-id>... ]"
 
-#: builtin/shortlog.c:157
+#: builtin/shortlog.c:133
 #, c-format
 msgid "Missing author: %s"
 msgstr "Thiếu tên tác giả: %s"
 
-#: builtin/shortlog.c:253
+#: builtin/shortlog.c:229
 msgid "sort output according to the number of commits per author"
 msgstr "sắp xếp kết xuất tuân theo số lượng chuyển giao trên mỗi tác giả"
 
-#: builtin/shortlog.c:255
+#: builtin/shortlog.c:231
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr "Chặn mọi mô tả lần chuyển giao, chỉ đưa ra số lượng lần chuyển giao"
 
-#: builtin/shortlog.c:257
+#: builtin/shortlog.c:233
 msgid "Show the email address of each author"
 msgstr "Hiển thị thư điện tử cho từng tác giả"
 
-#: builtin/shortlog.c:258
+#: builtin/shortlog.c:234
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:259
+#: builtin/shortlog.c:235
 msgid "Linewrap output"
 msgstr "Ngắt dòng khi quá dài"
 
@@ -8280,170 +8645,164 @@ msgid "could not verify the tag '%s'"
 msgstr "không thể thẩm tra thẻ “%s”"
 
 #: builtin/tag.c:249
+#, c-format
 msgid ""
 "\n"
-"#\n"
-"# Write a tag message\n"
-"# Lines starting with '#' will be ignored.\n"
-"#\n"
+"Write a tag message\n"
+"Lines starting with '%c' will be ignored.\n"
 msgstr ""
 "\n"
-"#\n"
-"# Viết các ghi chú cho (thẻ) tag\n"
-"# Những dòng được bắt đầu bằng “#” sẽ được bỏ qua.\n"
-"#\n"
+"Viết các ghi chú cho (thẻ) tag\n"
+"Những dòng được bắt đầu bằng “%c” sẽ được bỏ qua.\n"
 
-#: builtin/tag.c:256
+#: builtin/tag.c:253
+#, c-format
 msgid ""
 "\n"
-"#\n"
-"# Write a tag message\n"
-"# Lines starting with '#' will be kept; you may remove them yourself if you "
+"Write a tag message\n"
+"Lines starting with '%c' will be kept; you may remove them yourself if you "
 "want to.\n"
-"#\n"
 msgstr ""
 "\n"
-"#\n"
-"# Viết các ghi chú cho (thẻ) tag\n"
-"# Những dòng được bắt đầu bằng “#” sẽ được bỏ qua; bạn có thể xóa chúng đi "
+"Viết các ghi chú cho (thẻ) tag\n"
+"Những dòng được bắt đầu bằng “%c” sẽ được bỏ qua; bạn có thể xóa chúng đi "
 "nếu muốn.\n"
-"#\n"
 
-#: builtin/tag.c:298
+#: builtin/tag.c:292
 msgid "unable to sign the tag"
 msgstr "không thể ký thẻ"
 
-#: builtin/tag.c:300
+#: builtin/tag.c:294
 msgid "unable to write tag file"
 msgstr "không thể ghi vào tập tin lưu thẻ"
 
-#: builtin/tag.c:325
+#: builtin/tag.c:319
 msgid "bad object type."
 msgstr "kiểu đối tượng sai."
 
-#: builtin/tag.c:338
+#: builtin/tag.c:332
 msgid "tag header too big."
 msgstr "đầu thẻ (tag) quá lớn."
 
-#: builtin/tag.c:370
+#: builtin/tag.c:368
 msgid "no tag message?"
 msgstr "không có thông điệp (message) cho thẻ (tag)?"
 
-#: builtin/tag.c:376
+#: builtin/tag.c:374
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "Nội dung ghi chú còn lại %s\n"
 
-#: builtin/tag.c:425
+#: builtin/tag.c:423
 msgid "switch 'points-at' requires an object"
 msgstr "chuyển đến “points-at” yêu cần một đối tượng"
 
-#: builtin/tag.c:427
+#: builtin/tag.c:425
 #, c-format
 msgid "malformed object name '%s'"
 msgstr "tên đối tượng dị hình “%s”"
 
-#: builtin/tag.c:447
+#: builtin/tag.c:445
 msgid "list tag names"
 msgstr "chỉ liệt kê tên các thẻ"
 
-#: builtin/tag.c:449
+#: builtin/tag.c:447
 msgid "print <n> lines of each tag message"
 msgstr "hiển thị <n> dòng cho mỗi ghi chú"
 
-#: builtin/tag.c:451
+#: builtin/tag.c:449
 msgid "delete tags"
 msgstr "xóa thẻ"
 
-#: builtin/tag.c:452
+#: builtin/tag.c:450
 msgid "verify tags"
 msgstr "thẩm tra thẻ"
 
-#: builtin/tag.c:454
+#: builtin/tag.c:452
 msgid "Tag creation options"
 msgstr "Tùy chọn tạo tag"
 
-#: builtin/tag.c:456
+#: builtin/tag.c:454
 msgid "annotated tag, needs a message"
 msgstr "để chú giải cho thẻ, cần một lời ghi chú"
 
-#: builtin/tag.c:458
+#: builtin/tag.c:456
 msgid "tag message"
 msgstr "tin nhắn cho thẻ (tag)"
 
-#: builtin/tag.c:460
+#: builtin/tag.c:458
 msgid "annotated and GPG-signed tag"
 msgstr "thẻ chú giải và ký kiểu GPG"
 
-#: builtin/tag.c:464
+#: builtin/tag.c:462
 msgid "use another key to sign the tag"
 msgstr "dùng kháo khác để ký thẻ"
 
-#: builtin/tag.c:465
+#: builtin/tag.c:463
 msgid "replace the tag if exists"
 msgstr "thay thế nếu tag đó đã có trước"
 
-#: builtin/tag.c:466
+#: builtin/tag.c:464
 msgid "show tag list in columns"
 msgstr "hiển thị danh sách thẻ trong các cột"
 
-#: builtin/tag.c:468
+#: builtin/tag.c:466
 msgid "Tag listing options"
 msgstr "Các tùy chọn liệt kê thẻ"
 
-#: builtin/tag.c:471
+#: builtin/tag.c:469
 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:477
+#: builtin/tag.c:475
 msgid "print only tags of the object"
 msgstr "chỉ hiển thị các thẻ của đối tượng"
 
-#: builtin/tag.c:506
+#: builtin/tag.c:504
 msgid "--column and -n are incompatible"
 msgstr "--column và -n xung khắc nhau"
 
-#: builtin/tag.c:523
+#: builtin/tag.c:521
 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:525
+#: builtin/tag.c:523
 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:527
+#: builtin/tag.c:525
 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:535
+#: builtin/tag.c:533
 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:555
+#: builtin/tag.c:553
 msgid "too many params"
 msgstr "quá nhiều đối số"
 
-#: builtin/tag.c:561
+#: builtin/tag.c:559
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "“%s” không phải thẻ hợp lệ."
 
-#: builtin/tag.c:566
+#: builtin/tag.c:564
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "Thẻ “%s” đã tồn tại rồi"
 
-#: builtin/tag.c:584
+#: builtin/tag.c:582
 #, c-format
 msgid "%s: cannot lock the ref"
 msgstr "%s: không thể khóa ref (tham chiếu)"
 
-#: builtin/tag.c:586
+#: builtin/tag.c:584
 #, c-format
 msgid "%s: cannot update the ref"
 msgstr "%s: không thể cập nhật ref (tham chiếu)"
 
-#: builtin/tag.c:588
+#: builtin/tag.c:586
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Đã cập nhật thẻ “%s” (trước là %s)\n"
@@ -8633,15 +8992,15 @@ msgstr ""
 msgid "no-op (backward compatibility)"
 msgstr "no-op (tương thích ngược)"
 
-#: parse-options.h:228
+#: parse-options.h:232
 msgid "be more verbose"
 msgstr "chi tiết hơn nữa"
 
-#: parse-options.h:230
+#: parse-options.h:234
 msgid "be more quiet"
 msgstr "im lặng hơn nữa"
 
-#: parse-options.h:236
+#: parse-options.h:240
 msgid "use <n> digits to display SHA-1s"
 msgstr "sử dụng <n> chữ số để hiển thị SHA-1s"
 
@@ -8684,7 +9043,7 @@ msgid "Print lines matching a pattern"
 msgstr "In ra những dòng khớp với một mẫu"
 
 #: common-cmds.h:17
-msgid "Create an empty git repository or reinitialize an existing one"
+msgid "Create an empty Git repository or reinitialize an existing one"
 msgstr ""
 "Tạo một kho git trống rỗng hay khởi tạo lại một kho đã tồn tại từ trước"
 
@@ -8824,8 +9183,7 @@ msgstr "Xin hãy rõ ràng. --skip hay --abort?"
 
 #: git-am.sh:509
 msgid "Resolve operation not in progress, we are not resuming."
-msgstr ""
-"Thao tác phân giải không đang được tiến hành, chúng ta không phục hồi lại."
+msgstr "Thao tác phân giải không được tiến hành, chúng ta không phục hồi lại."
 
 #: git-am.sh:575
 #, sh-format
@@ -9088,7 +9446,7 @@ 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:197
+#: git-pull.sh:203
 msgid "updating an unborn branch with changes added to the index"
 msgstr ""
 "đang cập nhật một nhánh chưa được sinh ra với các thay đổi được thêm vào "
@@ -9098,7 +9456,7 @@ msgstr ""
 #. The working tree and the index file is still based on the
 #. $orig_head commit, but we are merging into $curr_head.
 #. First update the working tree to match $curr_head.
-#: git-pull.sh:229
+#: git-pull.sh:235
 #, sh-format
 msgid ""
 "Warning: fetch updated the current branch head.\n"
@@ -9109,11 +9467,11 @@ msgstr ""
 "Cảnh báo: đang fast-forward cây làm việc của bạn từ\n"
 "Cảnh báo: commit $orig_head."
 
-#: git-pull.sh:254
+#: git-pull.sh:260
 msgid "Cannot merge multiple branches into empty head"
 msgstr "Không thể hòa trộn nhiều nhánh và trong một head trống rỗng"
 
-#: git-pull.sh:258
+#: git-pull.sh:264
 msgid "Cannot rebase onto multiple branches"
 msgstr "Không thể thực hiện lệnh rebase (cơ cấu lại) trên nhiều nhánh"
 
@@ -9379,41 +9737,41 @@ msgstr "Chưa chỉ ra tên của nhánh"
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(Để phục hồi lại chúng hãy gõ \"git stash apply\")"
 
-#: git-submodule.sh:89
+#: git-submodule.sh:91
 #, sh-format
 msgid "cannot strip one component off url '$remoteurl'"
 msgstr "không thể tháo bỏ một thành phần ra khỏi “$remoteurl” url"
 
-#: git-submodule.sh:168
+#: git-submodule.sh:196
 #, sh-format
 msgid "No submodule mapping found in .gitmodules for path '$sm_path'"
 msgstr ""
 "Không tìm thấy ánh xạ (mapping) mô-đun-con trong .gitmodules cho đường dẫn "
 "“$sm_path”"
 
-#: git-submodule.sh:211
+#: git-submodule.sh:239
 #, sh-format
 msgid "Clone of '$url' into submodule path '$sm_path' failed"
 msgstr "Nhân bản “$url” vào đường dẫn mô-đun-con “$sm_path” gặp lỗi"
 
-#: git-submodule.sh:223
+#: git-submodule.sh:251
 #, sh-format
 msgid "Gitdir '$a' is part of the submodule path '$b' or vice versa"
 msgstr ""
 "Gitdir “$a” là bộ phận của đường dẫn mô-đun-con “$b” hoặc \"vice versa\""
 
-#: git-submodule.sh:316
+#: git-submodule.sh:349
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr ""
 "repo URL: “$repo” phải là đường dẫn tuyệt đối hoặc là bắt đầu bằng ./|../"
 
-#: git-submodule.sh:333
+#: git-submodule.sh:366
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "”$sm_path” thực sự đã tồn tại ở bảng mục lục rồi"
 
-#: git-submodule.sh:337
+#: git-submodule.sh:370
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -9425,196 +9783,289 @@ msgstr ""
 "$sm_path\n"
 "Sử dụng -f nếu bạn thực sự muốn thêm nó vào."
 
-#: git-submodule.sh:355
+#: git-submodule.sh:388
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "Đang thêm repo có sẵn tại “$sm_path” vào bảng mục lục"
 
-#: git-submodule.sh:357
+#: git-submodule.sh:390
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "”$sm_path” đã tồn tại từ trước và không phải là một kho git hợp lệ"
 
-#: git-submodule.sh:365
+#: git-submodule.sh:398
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr ""
-"Thư mục git cho '$sm_name' được tìm thấy một cách cục bộ với các máy chủ:"
+"Thư mục git cho “$sm_name” được tìm thấy một cách cục bộ với các máy chủ:"
 
-#: git-submodule.sh:367
+#: git-submodule.sh:400
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from"
 msgstr "Nếu bạn muốn dùng lại thư mục git nội bộ này thay vì nhân bản từ nó"
 
-#: git-submodule.sh:369
+#: git-submodule.sh:402
 #, sh-format
 msgid ""
 "use the '--force' option. If the local git directory is not the correct repo"
 msgstr ""
-"dùng tùy chọn '--force'. Nếu thư mục git nội bộ không phải là repo (kho) đúng"
+"dùng tùy chọn “--force”. Nếu thư mục git nội bộ không phải là repo (kho) đúng"
 
-#: git-submodule.sh:370
+#: git-submodule.sh:403
 #, sh-format
 msgid ""
 "or you are unsure what this means choose another name with the '--name' "
 "option."
 msgstr ""
-"hay bạn không chắc chắn điều đó có nghĩa gì chọn tên khác với tùy chọn '--"
-"name'."
+"hay bạn không chắc chắn điều đó có nghĩa gì chọn tên khác với tùy chọn --"
+"name."
 
-#: git-submodule.sh:372
+#: git-submodule.sh:405
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr ""
-"Phục hồi sự hoạt động của thư mục git nội bộ cho mô-đun-con '$sm_name'."
+"Phục hồi sự hoạt động của thư mục git nội bộ cho mô-đun-con “$sm_name”."
 
-#: git-submodule.sh:384
+#: git-submodule.sh:417
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "Không thể checkout mô-đun con “$sm_path”"
 
-#: git-submodule.sh:389
+#: git-submodule.sh:422
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "Gặp lỗi khi thêm mô-đun con “$sm_path”"
 
-#: git-submodule.sh:394
+#: git-submodule.sh:431
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Gặp lỗi khi đăng ký với hệ thống mô-đun con “$sm_path”"
 
-#: git-submodule.sh:437
+#: git-submodule.sh:474
 #, sh-format
 msgid "Entering '$prefix$sm_path'"
 msgstr "Đang nhập “$prefix$sm_path”"
 
-#: git-submodule.sh:451
+#: git-submodule.sh:488
 #, sh-format
 msgid "Stopping at '$sm_path'; script returned non-zero status."
 msgstr "Dừng lại tại “$sm_path”; script trả về trạng thái khác không."
 
-#: git-submodule.sh:495
+#: git-submodule.sh:532
 #, sh-format
 msgid "No url found for submodule path '$sm_path' in .gitmodules"
 msgstr ""
 "Không tìm thấy url cho đường dẫn mô-đun-con “$sm_path” trong .gitmodules"
 
-#: git-submodule.sh:504
+#: git-submodule.sh:541
 #, sh-format
 msgid "Failed to register url for submodule path '$sm_path'"
 msgstr "Gặp lỗi khi đăng ký url cho đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:506
+#: git-submodule.sh:543
 #, sh-format
 msgid "Submodule '$name' ($url) registered for path '$sm_path'"
 msgstr "Mô-đun-con “$name” ($url) được đăng ký cho đường dẫn “$sm_path”"
 
-#: git-submodule.sh:514
+#: git-submodule.sh:551
 #, sh-format
 msgid "Failed to register update mode for submodule path '$sm_path'"
 msgstr ""
 "Gặp lỗi khi đăng ký chế độ cập nhật cho đường dẫn mô-đun-con “$sm_path”"
 
+#: git-submodule.sh:588
+#, sh-format
+msgid "Use '.' if you really want to deinitialize all submodules"
+msgstr "Dùng '.' nếu bạn thực sự muốn gỡ bỏ mọi mô-đun-con"
+
+#: git-submodule.sh:603
+#, sh-format
+msgid "Submodule work tree '$sm_path' contains a .git directory"
+msgstr "Cây làm việc mô-đun-con '$sm_path' có chứa thư mục .git"
+
+#: git-submodule.sh:604
+#, sh-format
+msgid ""
+"(use 'rm -rf' if you really want to remove it including all of its history)"
+msgstr ""
+"(dùng “rm -rf” nếu bạn thực sự muốn gỡ bỏ nó cùng với tất cả lịch sử của "
+"chúng)"
+
+#: git-submodule.sh:610
+#, sh-format
+msgid ""
+"Submodule work tree '$sm_path' contains local modifications; use '-f' to "
+"discard them"
+msgstr ""
+"Cây làm việc mô-đun-con '$sm_path' chứa các thay đổi nội bộ; hãy dùng '-f' "
+"để loại bỏ chúng đi"
+
+#: git-submodule.sh:613
+#, sh-format
+msgid "Cleared directory '$sm_path'"
+msgstr "Thư mục được dọn “$sm_path”"
+
 #: git-submodule.sh:614
 #, sh-format
+msgid "Could not remove submodule work tree '$sm_path'"
+msgstr "Không thể gỡ bỏ cây làm việc mô-đun con “$sm_path”"
+
+#: git-submodule.sh:617
+#, sh-format
+msgid "Could not create empty submodule directory '$sm_path'"
+msgstr "Không thể tạo thư mục mô-đun-con rỗng “$sm_path”"
+
+#: git-submodule.sh:626
+#, sh-format
+msgid "Submodule '$name' ($url) unregistered for path '$sm_path'"
+msgstr "Mô-đun-con “$name” ($url) được bỏ đăng ký cho đường dẫn “$sm_path”"
+
+#: git-submodule.sh:731
+#, sh-format
 msgid ""
-"Submodule path '$sm_path' not initialized\n"
+"Submodule path '$prefix$sm_path' not initialized\n"
 "Maybe you want to use 'update --init'?"
 msgstr ""
-"Đường dẫn mô-đun-con “$sm_path” chưa được khởi tạo\n"
+"Đường dẫn mô-đun-con “$prefix$sm_path” chưa được khởi tạo\n"
 "Có lẽ bạn muốn sử dụng lệnh “update --init”?"
 
-#: git-submodule.sh:627
+#: git-submodule.sh:744
 #, sh-format
-msgid "Unable to find current revision in submodule path '$sm_path'"
+msgid "Unable to find current revision in submodule path '$prefix$sm_path'"
 msgstr ""
-"Không tìm thấy điểm xét lại hiện hành trong đường dẫn mô-đun-con “$sm_path”"
+"Không tìm thấy điểm xét lại hiện hành trong đường dẫn mô-đun-con “$prefix"
+"$sm_path”"
 
-#: git-submodule.sh:646
+#: git-submodule.sh:753
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "Không thể lấy về (fetch) trong đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:660
+#: git-submodule.sh:777
 #, sh-format
-msgid "Unable to rebase '$sha1' in submodule path '$sm_path'"
-msgstr "Không thể rebase “$sha1” trong đường dẫn mô-đun-con “$sm_path”"
+msgid "Unable to fetch in submodule path '$prefix$sm_path'"
+msgstr "Không thể lấy về (fetch) trong đường dẫn mô-đun-con “$prefix$sm_path”"
 
-#: git-submodule.sh:661
+#: git-submodule.sh:791
 #, sh-format
-msgid "Submodule path '$sm_path': rebased into '$sha1'"
-msgstr "Đường dẫn mô-đun-con “$sm_path”: được rebase vào trong “$sha1”"
+msgid "Unable to rebase '$sha1' in submodule path '$prefix$sm_path'"
+msgstr "Không thể rebase “$sha1” trong đường dẫn mô-đun-con “$prefix$sm_path”"
 
-#: git-submodule.sh:666
+#: git-submodule.sh:792
 #, sh-format
-msgid "Unable to merge '$sha1' in submodule path '$sm_path'"
+msgid "Submodule path '$prefix$sm_path': rebased into '$sha1'"
+msgstr "Đường dẫn mô-đun-con “$prefix$sm_path”: được rebase vào trong “$sha1”"
+
+#: git-submodule.sh:797
+#, sh-format
+msgid "Unable to merge '$sha1' in submodule path '$prefix$sm_path'"
 msgstr ""
-"Không thể hòa trộn (merge) “$sha1” trong đường dẫn mô-đun-con “$sm_path”"
+"Không thể hòa trộn (merge) “$sha1” trong đường dẫn mô-đun-con “$prefix"
+"$sm_path”"
 
-#: git-submodule.sh:667
+#: git-submodule.sh:798
 #, sh-format
-msgid "Submodule path '$sm_path': merged in '$sha1'"
-msgstr "Đường dẫn mô-đun-con “$sm_path”: được hòa trộn vào “$sha1”"
+msgid "Submodule path '$prefix$sm_path': merged in '$sha1'"
+msgstr "Đường dẫn mô-đun-con “$prefix$sm_path”: được hòa trộn vào “$sha1”"
 
-#: git-submodule.sh:672
+#: git-submodule.sh:803
 #, sh-format
-msgid "Unable to checkout '$sha1' in submodule path '$sm_path'"
-msgstr "Không thể checkout “$sha1” trong đường dẫn mô-đun-con “$sm_path”"
+msgid "Unable to checkout '$sha1' in submodule path '$prefix$sm_path'"
+msgstr ""
+"Không thể checkout “$sha1” trong đường dẫn mô-đun-con “$prefix$sm_path”"
 
-#: git-submodule.sh:673
+#: git-submodule.sh:804
 #, sh-format
-msgid "Submodule path '$sm_path': checked out '$sha1'"
-msgstr "Đường dẫn mô-đun-con “$sm_path”: được checkout “$sha1”"
+msgid "Submodule path '$prefix$sm_path': checked out '$sha1'"
+msgstr "Đường dẫn mô-đun-con “$prefix$sm_path”: được checkout “$sha1”"
 
-#: git-submodule.sh:695 git-submodule.sh:1017
+#: git-submodule.sh:831
 #, sh-format
-msgid "Failed to recurse into submodule path '$sm_path'"
-msgstr "Gặp lỗi khi đệ quy vào trong đường dẫn mô-đun-con “$sm_path”"
+msgid "Failed to recurse into submodule path '$prefix$sm_path'"
+msgstr "Gặp lỗi khi đệ quy vào trong đường dẫn mô-đun-con “$prefix$sm_path”"
 
-#: git-submodule.sh:803
+#: git-submodule.sh:939
 msgid "The --cached option cannot be used with the --files option"
 msgstr "Tùy chọn --cached không thể dùng cùng với tùy chọn --files"
 
 #. unexpected type
-#: git-submodule.sh:843
+#: git-submodule.sh:979
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "chế độ không như mong chờ $mod_dst"
 
-#: git-submodule.sh:861
+#: git-submodule.sh:997
 #, sh-format
 msgid "  Warn: $name doesn't contain commit $sha1_src"
 msgstr "  Cảnh báo: $name không chứa lần chuyển giao (commit) $sha1_src"
 
-#: git-submodule.sh:864
+#: git-submodule.sh:1000
 #, sh-format
 msgid "  Warn: $name doesn't contain commit $sha1_dst"
 msgstr "  Cảnh báo: $name không chứa lần chuyển giao (commit) $sha1_dst"
 
-#: git-submodule.sh:867
+#: git-submodule.sh:1003
 #, sh-format
 msgid "  Warn: $name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
 "  Cảnh báo: $name không chứa những lần chuyển giao (commit) $sha1_src và "
 "$sha1_dst"
 
-#: git-submodule.sh:892
+#: git-submodule.sh:1028
 msgid "blob"
 msgstr "blob"
 
-#: git-submodule.sh:930
-msgid "Submodules changed but not updated:"
-msgstr "# Các mô-đun-con đã bị thay đổi nhưng chưa được cập nhật:"
+#: git-submodule.sh:1066
+msgid "Submodules changed but not updated:"
+msgstr "Những mô-đun-con đã bị thay đổi nhưng chưa được cập nhật:"
 
-#: git-submodule.sh:932
-msgid "Submodule changes to be committed:"
-msgstr "# Những thay đổi mô-đun-con được chuyển giao (commit):"
+#: git-submodule.sh:1068
+msgid "Submodule changes to be committed:"
+msgstr "Những mô-đun-con thay đổi đã được chuyển giao (commit):"
 
-#: git-submodule.sh:1080
+#: git-submodule.sh:1153
+#, sh-format
+msgid "Failed to recurse into submodule path '$sm_path'"
+msgstr "Gặp lỗi khi đệ quy vào trong đường dẫn mô-đun-con “$sm_path”"
+
+#: git-submodule.sh:1216
 #, sh-format
 msgid "Synchronizing submodule url for '$prefix$sm_path'"
-msgstr "Url Mô-đun-con đồng bộ hóa cho '$prefix$sm_path'"
+msgstr "Url Mô-đun-con đồng bộ hóa cho “$prefix$sm_path”"
+
+#~ msgid "use any ref in .git/refs"
+#~ msgstr "sử dụng bất kỳ ref nào trong .git/refs"
+
+#~ msgid "use any tag in .git/refs/tags"
+#~ msgstr "sử dụng bất kỳ thẻ nào trong .git/refs/tags"
+
+#~ msgid "bad object %s"
+#~ msgstr "đối tượng sai %s"
+
+#~ msgid "bogus committer info %s"
+#~ msgstr "thông tin người chuyển giao không có thực %s"
+
+#~ msgid "can't fdopen 'show' output fd"
+#~ msgstr "không thể fdopen “show” (lệnh hiển thị) mô tả tập tin (fd) kết xuất"
+
+#~ msgid "failed to close pipe to 'show' for object '%s'"
+#~ msgstr "gặp lỗi khi đóng đường ống cho lệnh “show” cho đối tượng “%s”"
+
+#~ msgid "You do not have a valid HEAD"
+#~ msgstr "Bạn không có HEAD nào hợp lệ"
+
+#~ msgid "oops"
+#~ msgstr "ôi?"
+
+#~ msgid "Would not remove %s\n"
+#~ msgstr "Không thể gỡ bỏ %s\n"
+
+#~ msgid "Not removing %s\n"
+#~ msgstr "Không xóa %s\n"
+
+#~ msgid "Could not read index"
+#~ msgstr "Không thể đọc bảng mục lục"
 
 #~ msgid "git remote set-head <name> (-a | -d | <branch>])"
 #~ msgstr "git remote set-head <tên> (-a | -d | <nhánh>])"