Merge branch 'jc/maint-fmt-merge-msg-no-edit-lose-credit'
[gitweb.git] / po / vi.po
index f0529f407a15669156777455395a480165ee5162..2ccdf869c44dada501b385fb2543d63da072d265 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -2,23 +2,22 @@
 # Copyright (C) 2012, 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.
+# Nguyễn Thái Ngọc Duy <pclouds@gmail.com>, 2012.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: git-1.7.11.rc2.2.gb694fbb\n"
+"Project-Id-Version: git-v1.8.0.1-347-gf94c3\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2012-06-08 10:20+0800\n"
-"PO-Revision-Date: 2012-06-09 14:08+0700\n"
+"POT-Creation-Date: 2012-11-30 12:40+0800\n"
+"PO-Revision-Date: 2012-11-30 13:40+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"
-"Language: \n"
 "Plural-Forms: nplurals=2; plural=1;\n"
-"X-Poedit-Language: Vietnamese\n"
-"X-Poedit-Country: VIET NAM\n"
-"X-Poedit-SourceCharset: utf-8\n"
+"X-Poedit-SourceCharset: UTF-8\n"
 "X-Poedit-Basepath: ../\n"
 
 #: advice.c:40
@@ -38,41 +37,129 @@ msgid ""
 "or use 'git commit -a'."
 msgstr ""
 "Sửa chúng trong cây làm việc,\n"
-"và sau đó sử dụng lệnh 'git add/rm <tập-tin>'\n"
-"dành riêng cho việc đánh dấu cần giải quyết và tạo lần chuyển giao,\n"
-"hoặc là sử dụng lệnh 'git commit -a'."
+"và sau đó dùng lệnh “git add/rm <tập-tin>” dành riêng\n"
+"cho việc đánh dấu tập tin cần giải quyết và tạo lần chuyển giao,\n"
+"hoặc là dùng lệnh “git commit -a”."
+
+#: archive.c:10
+msgid "git archive [options] <tree-ish> [<path>...]"
+msgstr "git archive [các-tùy-chọn] <tree-ish> [<đường-dẫn>...]"
+
+#: archive.c:11
+msgid "git archive --list"
+msgstr "git archive --list"
+
+#: archive.c:12
+msgid ""
+"git archive --remote <repo> [--exec <cmd>] [options] <tree-ish> [<path>...]"
+msgstr ""
+"git archive --remote <kho> [--exec <lệnh>] [các-tùy-chọn] <tree-ish> [<đường-"
+"dẫn>...]"
+
+#: archive.c:13
+msgid "git archive --remote <repo> [--exec <cmd>] --list"
+msgstr "git archive --remote <kho> [--exec <lệnh>] --list"
+
+#: archive.c:322
+msgid "fmt"
+msgstr "fmt"
+
+#: archive.c:322
+msgid "archive format"
+msgstr "định dạng lưu trữ"
+
+#: archive.c:323 builtin/log.c:1084
+msgid "prefix"
+msgstr "tiền tố"
+
+#: archive.c:324
+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
+msgid "file"
+msgstr "tập-tin"
+
+#: archive.c:326 builtin/archive.c:92
+msgid "write the archive to this file"
+msgstr "ghi kho lưu vào tập tin này"
+
+#: archive.c:328
+msgid "read .gitattributes in working directory"
+msgstr "đọc .gitattributes trong thư mục làm việc"
+
+#: archive.c:329
+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
+msgid "store only"
+msgstr "chỉ lưu (không nén)"
+
+#: archive.c:331
+msgid "compress faster"
+msgstr "nén nhanh hơn"
+
+#: archive.c:339
+msgid "compress better"
+msgstr "nén nhỏ hơn"
+
+#: archive.c:342
+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
+msgid "repo"
+msgstr "kho"
+
+#: archive.c:345 builtin/archive.c:94
+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
+msgid "command"
+msgstr "lệnh"
+
+#: archive.c:347 builtin/archive.c:96
+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"
+"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."
 
 #: bundle.c:36
 #, c-format
 msgid "'%s' does not look like a v2 bundle file"
-msgstr "'%s' không giống như tập tin v2 bundle (cụm)"
+msgstr "“%s” không giống như tập tin v2 bundle (định dạng dump của git)"
 
 #: bundle.c:63
 #, c-format
 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:696
+#: bundle.c:89 builtin/commit.c:674
 #, c-format
 msgid "could not open '%s'"
-msgstr "không thể mở '%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:"
 
-#: bundle.c:164
-#: sequencer.c:550
-#: sequencer.c:982
-#: builtin/log.c:289
-#: builtin/log.c:720
-#: builtin/log.c:1309
-#: builtin/log.c:1528
-#: builtin/merge.c:347
+#: 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
 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"
+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
@@ -82,67 +169,68 @@ msgstr[0] "Bundle chứa %d tham chiếu (refs)"
 msgstr[1] "Bundle chứa %d tham chiếu (refs)"
 
 #: bundle.c:192
+msgid "The bundle records a complete history."
+msgstr "Lệnh bundle ghi lại toàn bộ lịch sử."
+
+#: bundle.c: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"
 
-#: bundle.c:290
+#: bundle.c:294
 msgid "rev-list died"
-msgstr "rev-list bị chết"
+msgstr "rev-list đã chết"
 
-#: bundle.c:296
-#: builtin/log.c:1205
-#: builtin/shortlog.c:284
+#: bundle.c:300 builtin/log.c:1215 builtin/shortlog.c:284
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "đối số không được thừa nhận: %s"
 
-#: bundle.c:331
+#: bundle.c:335
 #, c-format
 msgid "ref '%s' is excluded by the rev-list options"
-msgstr "tham chiếu '%s' bị loại trừ bởi các tùy chọn rev-list"
+msgstr "th.chiếu “%s” bị loại trừ bởi các tùy chọn rev-list"
 
-#: bundle.c:376
+#: bundle.c:380
 msgid "Refusing to create empty bundle."
 msgstr "Từ chối tạo một bundle trống rỗng."
 
-#: bundle.c:394
+#: bundle.c:398
 msgid "Could not spawn pack-objects"
 msgstr "Không thể sản sinh pack-objects"
 
-#: bundle.c:412
+#: bundle.c:416
 msgid "pack-objects died"
 msgstr "pack-objects đã chết"
 
-#: bundle.c:415
+#: bundle.c:419
 #, c-format
 msgid "cannot create '%s'"
-msgstr "không thể tạo '%s'"
+msgstr "không thể tạo “%s”"
 
-#: bundle.c:437
+#: bundle.c:441
 msgid "index-pack died"
 msgstr "index-pack đã chết"
 
-#: commit.c:48
+#: commit.c:50
 #, c-format
 msgid "could not parse %s"
 msgstr "không thể phân tích %s"
 
-#: commit.c:50
+#: commit.c:52
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr "%s %s không phải là một lần commit!"
 
-#: compat/obstack.c:406
-#: compat/obstack.c:408
+#: compat/obstack.c:406 compat/obstack.c:408
 msgid "memory exhausted"
-msgstr "cạn bộ nhớ"
+msgstr "hết bộ nhớ"
 
 #: connected.c:39
 msgid "Could not run 'git rev-list'"
-msgstr "Không thể chạy 'git rev-list'"
+msgstr "Không thể chạy “git rev-list”"
 
 #: connected.c:48
 #, c-format
@@ -214,59 +302,38 @@ msgid_plural "%s, %lu months ago"
 msgstr[0] "%s, %lu tháng trước"
 msgstr[1] "%s, %lu tháng trước"
 
-#: date.c:154
-#: date.c:159
+#: date.c:154 date.c:159
 #, c-format
 msgid "%lu year ago"
 msgid_plural "%lu years ago"
 msgstr[0] "%lu năm trước"
 msgstr[1] "%lu năm trước"
 
-#: diff.c:105
+#: diff.c:111
+#, c-format
+msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
+msgstr "  Gặp lỗi khi phân tích dirstat cắt bỏ phần trăm '%s'\n"
+
+#: diff.c:116
 #, 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"
+msgid "  Unknown dirstat parameter '%s'\n"
+msgstr "  Không hiểu đối số dirstat '%s'\n"
 
-#: diff.c:110
+#: diff.c:194
 #, c-format
-msgid "  Unknown dirstat parameter '%.*s'\n"
-msgstr "  Không hiểu đối số dirstat '%.*s'\n"
+msgid "Unknown value for 'diff.submodule' config variable: '%s'"
+msgstr "Không hiểu giá trị cho biến cấu hình “diff.submodule”: `%s'"
 
-#: diff.c:210
+#: diff.c:237
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
 "%s"
 msgstr ""
-"Tìm thấy các lỗi trong biến cấu hình 'diff.dirstat':\n"
+"Tìm thấy các lỗi trong biến cấu hình “diff.dirstat”:\n"
 "%s"
 
-#: diff.c:1400
-msgid " 0 files changed\n"
-msgstr " 0 tập tin nào bị thay đổi\n"
-
-#: diff.c:1404
-#, c-format
-msgid " %d file changed"
-msgid_plural " %d files changed"
-msgstr[0] " %d tập tin đã bị thay đổi"
-msgstr[1] " %d tập tin đã bị thay đổi"
-
-#: diff.c:1421
-#, c-format
-msgid ", %d insertion(+)"
-msgid_plural ", %d insertions(+)"
-msgstr[0] ", %d được thêm vào(+)"
-msgstr[1] ", %d được thêm vào(+)"
-
-#: diff.c:1432
-#, c-format
-msgid ", %d deletion(-)"
-msgid_plural ", %d deletions(-)"
-msgstr[0] ", %d bị xóa(-)"
-msgstr[1] ", %d bị xóa(-)"
-
-#: diff.c:3478
+#: diff.c:3494
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -275,6 +342,11 @@ msgstr ""
 "Gặp lỗi khi phân tích đối số tùy chọn --dirstat/-X:\n"
 "%s"
 
+#: diff.c:3508
+#, c-format
+msgid "Failed to parse --submodule option parameter: '%s'"
+msgstr "Gặp lỗi khi phân tích đối số tùy chọn --submodule: `%s'"
+
 #: gpg-interface.c:59
 msgid "could not run gpg."
 msgstr "không thể chạy gpg."
@@ -287,63 +359,63 @@ msgstr "gpg đã không đồng ý dữ liệu"
 msgid "gpg failed to sign the data"
 msgstr "gpg gặp lỗi khi ký dữ liệu"
 
-#: grep.c:1320
+#: grep.c:1622
 #, c-format
 msgid "'%s': unable to read %s"
-msgstr "'%s': không thể đọc %s"
+msgstr "“%s”: không thể đọc %s"
 
-#: grep.c:1337
+#: grep.c:1639
 #, c-format
 msgid "'%s': %s"
-msgstr "'%s': %s"
+msgstr "“%s”: %s"
 
-#: grep.c:1348
+#: grep.c:1650
 #, c-format
 msgid "'%s': short read %s"
-msgstr "'%s': đọc ngắn %s"
+msgstr "“%s”: đọc ngắn %s"
 
-#: help.c:207
+#: help.c:212
 #, c-format
 msgid "available git commands in '%s'"
-msgstr "các lệnh git sẵn sàng để dùng trong '%s'"
+msgstr "các lệnh git sẵn sàng để dùng trong “%s”"
 
-#: help.c:214
+#: help.c:219
 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:270
+#: help.c:275
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
 "able to execute it. Maybe git-%s is broken?"
 msgstr ""
-"'%s' trông như là một lệnh git, nhưng chúng tôi không\n"
+"“%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:327
+#: help.c:332
 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:349
+#: help.c:354
 #, c-format
 msgid ""
 "WARNING: You called a Git command named '%s', which does not exist.\n"
 "Continuing under the assumption that you meant '%s'"
 msgstr ""
-"CẢNH BÁO: Bạn đã gọi lệnh Git có tên '%s', mà nó lại không sẵn có.\n"
-"Giả định rằng ý bạn là '%s'"
+"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:354
+#: help.c:359
 #, c-format
 msgid "in %0.1f seconds automatically..."
 msgstr "trong %0.1f giây một cách tự động..."
 
-#: help.c:361
+#: help.c:366
 #, 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 thêm 'git --help'."
+msgstr "git: “%s” không phải là một lệnh của git. Xem “git --help”."
 
-#: help.c:365
+#: help.c:370
 msgid ""
 "\n"
 "Did you mean this?"
@@ -357,42 +429,320 @@ msgstr[1] ""
 "\n"
 "Có phải ý bạn là một trong số những cái này không?"
 
-#: parse-options.c:493
+#: merge.c:56
+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
+msgid "unable to write new index file"
+msgstr "không thể ghi tập tin lưu bảng mục lục mới"
+
+#: merge-recursive.c:190
+#, c-format
+msgid "(bad commit)\n"
+msgstr "(commit sai)\n"
+
+#: merge-recursive.c:206
+#, c-format
+msgid "addinfo_cache failed for path '%s'"
+msgstr "addinfo_cache gặp lỗi đối với đường dẫn “%s”"
+
+#: merge-recursive.c:268
+msgid "error building trees"
+msgstr "gặp lỗi khi xây dựng cây"
+
+#: merge-recursive.c:672
+#, c-format
+msgid "failed to create path '%s'%s"
+msgstr "gặp lỗi khi tạo đường dẫn “%s”%s"
+
+#: merge-recursive.c:683
+#, c-format
+msgid "Removing %s to make room for subdirectory\n"
+msgstr "Gỡ bỏ %s để tạo chỗ (room) cho thư mục con\n"
+
+#. something else exists
+#. .. but not some other error (who really cares what?)
+#: merge-recursive.c:697 merge-recursive.c:718
+msgid ": perhaps a D/F conflict?"
+msgstr ": có lẽ là một xung đột D/F?"
+
+#: merge-recursive.c:708
+#, c-format
+msgid "refusing to lose untracked file at '%s'"
+msgstr "từ chối đóng tập tin không được theo vết tại “%s”"
+
+#: merge-recursive.c:748
+#, c-format
+msgid "cannot read object %s '%s'"
+msgstr "không thể đọc đối tượng %s “%s”"
+
+#: merge-recursive.c:750
+#, c-format
+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
+#, c-format
+msgid "failed to open '%s'"
+msgstr "gặp lỗi khi mở “%s”"
+
+#: merge-recursive.c:781
+#, c-format
+msgid "failed to symlink '%s'"
+msgstr "gặp lỗi khi tạo liên kết tượng trưng (symlink) “%s”"
+
+#: merge-recursive.c:784
+#, c-format
+msgid "do not know what to do with %06o %s '%s'"
+msgstr "không hiểu phải làm gì với %06o %s “%s”"
+
+#: merge-recursive.c:922
+msgid "Failed to execute internal merge"
+msgstr "Gặp lỗi khi thực hiện trộn nội bộ"
+
+#: merge-recursive.c:926
+#, c-format
+msgid "Unable to add %s to database"
+msgstr "Không thể thêm %s vào cơ sở dữ liệu"
+
+#: merge-recursive.c:942
+msgid "unsupported object type in the tree"
+msgstr "kiểu đối tượng không được hỗ trợ trong cây (tree)"
+
+#: merge-recursive.c:1021 merge-recursive.c:1035
+#, c-format
+msgid ""
+"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
+"in tree."
+msgstr ""
+"XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s trong %s. Phiên bản %s của %s "
+"còn lại trong cây (tree)."
+
+#: merge-recursive.c:1027 merge-recursive.c:1040
+#, c-format
+msgid ""
+"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
+"in tree at %s."
+msgstr ""
+"XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s trong %s. Phiên bản %s của %s "
+"còn lại trong cây (tree) tại %s."
+
+#: merge-recursive.c:1081
+msgid "rename"
+msgstr "đổi tên"
+
+#: merge-recursive.c:1081
+msgid "renamed"
+msgstr "đã đổi tên"
+
+#: merge-recursive.c:1137
+#, c-format
+msgid "%s is a directory in %s adding as %s instead"
+msgstr "%s là một thư mục trong %s thay vào đó thêm vào như là %s"
+
+#: merge-recursive.c:1159
+#, c-format
+msgid ""
+"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
+"\"->\"%s\" in \"%s\"%s"
+msgstr ""
+"XUNG ĐỘT (đổi-tên/đổi-tên): Đổi tên \"%s\"->\"%s\" trong nhánh \"%s\" đổi "
+"tên \"%s\"->\"%s\" trong \"%s\"%s"
+
+#: merge-recursive.c:1164
+msgid " (left unresolved)"
+msgstr " (cần giải quyết)"
+
+#: merge-recursive.c:1218
+#, c-format
+msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
+msgstr ""
+"XUNG ĐỘT (đổi-tên/đổi-tên): Đổi tên %s->%s trong %s. Đổi tên %s->%s trong %s"
+
+#: merge-recursive.c:1248
+#, c-format
+msgid "Renaming %s to %s and %s to %s instead"
+msgstr "Đang đổi tên %s thành %s thay vì %s thành %s"
+
+#: merge-recursive.c:1447
+#, c-format
+msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
+msgstr ""
+"XUNG ĐỘT (đổi-tên/thêm): Đổi tên %s->%s trong %s. %s được thêm vào trong %s"
+
+#: merge-recursive.c:1457
+#, c-format
+msgid "Adding merged %s"
+msgstr "Thêm hòa trộn %s"
+
+#: merge-recursive.c:1462 merge-recursive.c:1660
+#, c-format
+msgid "Adding as %s instead"
+msgstr "Thay vào đó thêm vào %s"
+
+#: merge-recursive.c:1513
+#, c-format
+msgid "cannot read object %s"
+msgstr "không thể đọc đối tượng %s"
+
+#: merge-recursive.c:1516
+#, c-format
+msgid "object %s is not a blob"
+msgstr "đối tượng %s không phải là một blob"
+
+#: merge-recursive.c:1564
+msgid "modify"
+msgstr "sửa đổi"
+
+#: merge-recursive.c:1564
+msgid "modified"
+msgstr "đã sửa"
+
+#: merge-recursive.c:1574
+msgid "content"
+msgstr "nội dung"
+
+#: merge-recursive.c:1581
+msgid "add/add"
+msgstr "thêm/thêm"
+
+#: merge-recursive.c:1615
+#, c-format
+msgid "Skipped %s (merged same as existing)"
+msgstr "Đã bỏ qua %s (đã có sẵn lần hòa trộn này)"
+
+#: merge-recursive.c:1629
+#, c-format
+msgid "Auto-merging %s"
+msgstr "Tự-động-hòa-trộn %s"
+
+#: merge-recursive.c:1633 git-submodule.sh:893
+msgid "submodule"
+msgstr "mô-đun-con"
+
+#: merge-recursive.c:1634
+#, c-format
+msgid "CONFLICT (%s): Merge conflict in %s"
+msgstr "XUNG ĐỘT (%s): Xung đột hòa trộn trong %s"
+
+#: merge-recursive.c:1724
+#, c-format
+msgid "Removing %s"
+msgstr "Đang xóa %s"
+
+#: merge-recursive.c:1749
+msgid "file/directory"
+msgstr "tập-tin/thư-mục"
+
+#: merge-recursive.c:1755
+msgid "directory/file"
+msgstr "thư-mục/tập tin"
+
+#: merge-recursive.c:1760
+#, c-format
+msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
+msgstr ""
+"XUNG ĐỘT (%s): Ở đây không có thư mục nào có tên %s trong %s. Thêm %s như là "
+"%s"
+
+#: merge-recursive.c:1770
+#, c-format
+msgid "Adding %s"
+msgstr "Thêm \"%s\""
+
+#: merge-recursive.c:1787
+msgid "Fatal merge failure, shouldn't happen."
+msgstr "Việc hòa trộn hỏng nghiêm trọng, không nên để xảy ra."
+
+#: merge-recursive.c:1806
+msgid "Already up-to-date!"
+msgstr "Đã cập nhật rồi!"
+
+#: merge-recursive.c:1815
+#, c-format
+msgid "merging of trees %s and %s failed"
+msgstr "hòa trộn cây (tree) %s và %s gặp lỗi"
+
+#: merge-recursive.c:1845
+#, c-format
+msgid "Unprocessed path??? %s"
+msgstr "Đường dẫn chưa được xử lý??? %s"
+
+#: merge-recursive.c:1890
+msgid "Merging:"
+msgstr "Đang trộn:"
+
+#: merge-recursive.c:1903
+#, c-format
+msgid "found %u common ancestor:"
+msgid_plural "found %u common ancestors:"
+msgstr[0] "tìm thấy %u tổ tiên chung:"
+msgstr[1] "tìm thấy %u tổ tiên chung:"
+
+#: merge-recursive.c:1940
+msgid "merge returned no commit"
+msgstr "hòa trộn không trả về lần chuyển giao (commit) nào"
+
+#: merge-recursive.c:1997
+#, c-format
+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
+msgid "Unable to write index."
+msgstr "Không thể ghi bảng mục lục"
+
+#: parse-options.c:494
 msgid "..."
 msgstr "..."
 
-#: parse-options.c:511
+#: parse-options.c:512
 #, c-format
 msgid "usage: %s"
-msgstr "cách sử dụng: %s"
+msgstr "cách ng: %s"
 
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation
-#: parse-options.c:515
+#: parse-options.c:516
 #, c-format
 msgid "   or: %s"
-msgstr "   hoặc: %s"
+msgstr "     hoặc: %s"
 
-#: parse-options.c:518
+#: parse-options.c:519
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: remote.c:1629
+#: remote.c:1632
 #, 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"
+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
+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:1635
+#: remote.c:1640
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
-msgid_plural "Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n"
-msgstr[0] "Nhánh của bạn thì ở đằng sau '%s' bởi %d lần chuyển giao (commit), và có thể được fast-forward.\n"
-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"
+msgid_plural ""
+"Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n"
+msgstr[0] ""
+"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"
+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
+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:1643
+#: remote.c:1650
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -401,561 +751,703 @@ msgid_plural ""
 "Your branch and '%s' have diverged,\n"
 "and have %d and %d different commits each, respectively.\n"
 msgstr[0] ""
-"Nhánh của bạn và '%s' bị phân kỳ,\n"
+"Nhánh của bạn và “%s” bị phân kỳ,\n"
 "và có %d và %d lần chuyển giao (commit) khác nhau cho từng cái,\n"
 "tương ứng với mỗi lần.\n"
 msgstr[1] ""
-"Your branch and '%s' have diverged,\n"
+"Your branch and “%s” have diverged,\n"
 "and have %d and %d different commit each, respectively.\n"
 
-#: sequencer.c:121
-#: builtin/merge.c:865
-#: builtin/merge.c:978
-#: builtin/merge.c:1088
-#: builtin/merge.c:1098
+#: remote.c:1659
+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
 #, c-format
 msgid "Could not open '%s' for writing"
-msgstr "Không thể mở %s' để ghi"
+msgstr "Không thể mở “%s” để ghi"
 
-#: sequencer.c:123
-#: builtin/merge.c:333
-#: builtin/merge.c:868
-#: builtin/merge.c:1090
-#: builtin/merge.c:1103
+#: sequencer.c:125 builtin/merge.c:333 builtin/merge.c:764 builtin/merge.c:986
+#: builtin/merge.c:999
 #, c-format
 msgid "Could not write to '%s'"
-msgstr "Không thể ghi vào '%s'"
+msgstr "Không thể ghi vào “%s”"
 
-#: sequencer.c:144
+#: sequencer.c:146
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
 msgstr ""
 "sau khi giải quyết các xung đột, đánh dấu đường dẫn đã sửa\n"
-"với lệnh 'git add <đường_dẫn>' hoặc 'git rm <đường_dẫn>'"
+"với lệnh “git add <đường_dẫn>” hoặc “git rm <đường_dẫn>”"
 
-#: sequencer.c:147
+#: sequencer.c:149
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
 "and commit the result with 'git commit'"
 msgstr ""
 "sau khi giải quyết các xung đột, đánh dấu đường dẫn đã sửa\n"
-"với lệnh 'git add <đườ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'"
+"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:160
-#: sequencer.c:758
-#: sequencer.c:841
+#: sequencer.c:162 sequencer.c:770 sequencer.c:853
 #, c-format
 msgid "Could not write to %s"
 msgstr "Không thể ghi vào %s"
 
-#: sequencer.c:163
+#: sequencer.c:165
 #, c-format
 msgid "Error wrapping up %s"
 msgstr "Lỗi bao bọc %s"
 
-#: sequencer.c:178
+#: sequencer.c:180
 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:180
+#: sequencer.c:182
 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:183
+#: sequencer.c:185
 msgid "Commit your changes or stash them to proceed."
-msgstr "Chuyển giao (commit) các thay đổi hay stash chúng để tiến hành."
+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:233
+#: sequencer.c:235
 #, 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:261
+#: sequencer.c:266
 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:282
+#: sequencer.c:287
 msgid "Unable to update cache tree\n"
 msgstr "Không thể cập nhật cây bộ nhớ đệm\n"
 
-#: sequencer.c:324
+#: sequencer.c:332
 #, 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:329
+#: sequencer.c:337
 #, 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:395
+#: sequencer.c:403
 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:398
+#: 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:413
+#: sequencer.c:421
 #, 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."
+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:421
+#: sequencer.c:429
 #, 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:425
+#: sequencer.c:433
 #, c-format
 msgid "Mainline was specified but commit %s is not a merge."
-msgstr "Luồng chính được chỉ định nhưng lần chuyển giao (commit) %s không phải là một lần hòa trộn."
+msgstr ""
+"Luồng chính được chỉ ra nhưng lần chuyển giao (commit) %s không phải là một "
+"lần hòa trộn."
 
 #. TRANSLATORS: The first %s will be "revert" or
 #. "cherry-pick", the second %s a SHA1
-#: sequencer.c:436
+#: sequencer.c:444
 #, 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:440
+#: sequencer.c:448
 #, 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:524
+#: sequencer.c:532
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "không thể revert %s... %s"
 
-#: sequencer.c:525
+#: sequencer.c:533
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "không thể apply (áp dụng miếng vá) %s... %s"
 
-#: sequencer.c:553
+#: sequencer.c:565
 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:561
+#: sequencer.c:573
 #, 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:566
+#: sequencer.c:578
 #, 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:624
+#: sequencer.c:636
 #, c-format
 msgid "Cannot %s during a %s"
 msgstr "Không thể %s trong khi %s"
 
-#: sequencer.c:646
+#: sequencer.c:658
 #, c-format
 msgid "Could not parse line %d."
 msgstr "Không phân tích được dòng %d."
 
-#: sequencer.c:651
+#: sequencer.c:663
 msgid "No commits parsed."
 msgstr "Không có lần chuyển giao (commit) nào được phân tích."
 
-#: sequencer.c:664
+#: sequencer.c:676
 #, c-format
 msgid "Could not open %s"
 msgstr "Không thể mở %s"
 
-#: sequencer.c:668
+#: sequencer.c:680
 #, c-format
 msgid "Could not read %s."
 msgstr "Không thể đọc %s."
 
-#: sequencer.c:675
+#: sequencer.c:687
 #, c-format
 msgid "Unusable instruction sheet: %s"
 msgstr "Bảng chỉ thị không thể dùng được: %s"
 
-#: sequencer.c:703
+#: sequencer.c:715
 #, c-format
 msgid "Invalid key: %s"
 msgstr "Khóa không đúng: %s"
 
-#: sequencer.c:706
+#: sequencer.c:718
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "Giá trị không hợp lệ %s: %s"
 
-#: sequencer.c:718
+#: sequencer.c:730
 #, c-format
 msgid "Malformed options sheet: %s"
 msgstr "Bảng tùy chọn dị hình: %s"
 
-#: sequencer.c:739
+#: sequencer.c:751
 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:740
+#: sequencer.c:752
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "hãy thử \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:744
+#: sequencer.c:756
 #, 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:760
-#: sequencer.c:845
+#: sequencer.c:772 sequencer.c:857
 #, c-format
 msgid "Error wrapping up %s."
 msgstr "Lỗi bao bọc %s."
 
-#: sequencer.c:779
-#: sequencer.c:913
+#: sequencer.c:791 sequencer.c:925
 msgid "no cherry-pick or revert in progress"
 msgstr "không cherry-pick hay revert trong tiến trình"
 
-#: sequencer.c:781
+#: sequencer.c:793
 msgid "cannot resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: sequencer.c:783
+#: sequencer.c:795
 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:805
-#: builtin/apply.c:3697
+#: sequencer.c:817 builtin/apply.c:4005
 #, c-format
 msgid "cannot open %s: %s"
 msgstr "không thể mở %s: %s"
 
-#: sequencer.c:808
+#: sequencer.c:820
 #, c-format
 msgid "cannot read %s: %s"
 msgstr "không thể đọc %s: %s"
 
-#: sequencer.c:809
+#: sequencer.c:821
 msgid "unexpected end of file"
 msgstr "kết thúc tập tin đột xuất"
 
-#: sequencer.c:815
+#: sequencer.c:827
 #, 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"
+msgstr "tập tin HEAD “pre-cherry-pick” đã lưu “%s” bị hỏng"
 
-#: sequencer.c:838
+#: sequencer.c:850
 #, c-format
 msgid "Could not format %s."
 msgstr "Không thể định dạng %s."
 
-#: sequencer.c:1000
+#: sequencer.c:1012
 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:1001
+#: sequencer.c:1013
 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:864
+#: sha1_name.c:1044
 msgid "HEAD does not point to a branch"
 msgstr "HEAD không chỉ đến một nhánh nào cả"
 
-#: sha1_name.c:867
+#: sha1_name.c:1047
 #, c-format
 msgid "No such branch: '%s'"
-msgstr "Không có nhánh nào như thế: '%s'"
+msgstr "Không có nhánh nào như thế: “%s”"
 
-#: sha1_name.c:869
+#: sha1_name.c:1049
 #, c-format
 msgid "No upstream configured for branch '%s'"
-msgstr "Không có dòng ngược (upstream) được cấu hình cho nhánh '%s'"
+msgstr "Không có thượng nguồn (upstream) được cấu hình cho nhánh “%s”"
 
-#: sha1_name.c:872
+#: sha1_name.c:1052
 #, c-format
 msgid "Upstream branch '%s' not stored as a remote-tracking branch"
-msgstr "Nhánh dòng ngược (upstream) '%s' không được lưu lại như là một nhánh 'remote-tracking'"
+msgstr ""
+"Nhánh thượng nguồn (upstream) “%s” không được lưu lại như là một nhánh "
+"“remote-tracking”"
+
+#: wrapper.c:408
+#, c-format
+msgid "unable to access '%s': %s"
+msgstr "không thể truy cập “%s”: %s"
 
-#: wrapper.c:413
+#: wrapper.c:426
 #, 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:414
+#: wrapper.c:427
 msgid "no such user"
 msgstr "không có người dùng như vậy"
 
-#: wt-status.c:135
+#: wt-status.c:140
 msgid "Unmerged paths:"
 msgstr "Những đường dẫn chưa được hòa trộn:"
 
-#: wt-status.c:141
-#: wt-status.c:158
+#: wt-status.c:167 wt-status.c:194
 #, c-format
 msgid "  (use \"git reset %s <file>...\" to unstage)"
-msgstr "  (sử dụng \"git reset %s <tập-tin>...\" để bỏ một stage (trạng thái))"
+msgstr "  (ng \"git reset %s <tập-tin>...\" để bỏ một stage (trạng thái))"
 
-#: wt-status.c:143
-#: wt-status.c:160
+#: wt-status.c:169 wt-status.c:196
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
-msgstr "  (sử dụng \"git rm --cached <tập-tin>...\" để bỏ trạng thái (stage))"
+msgstr "  (ng \"git rm --cached <tập-tin>...\" để bỏ trạng thái (stage))"
 
-#: wt-status.c:144
+#: wt-status.c:173
+msgid "  (use \"git add <file>...\" to mark resolution)"
+msgstr "  (dùng \"git add <tập-tin>...\" để đánh dấu là cần giải quyết)"
+
+#: wt-status.c:175 wt-status.c:179
 msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
-msgstr "  (sử dụng \"git add/rm <tập-tin>...\" như là một cách  thích hợp để đánh dấu là cần được giải quyết)"
+msgstr ""
+"  (dùng \"git add/rm <tập-tin>...\" như là một cách  thích hợp để đánh dấu "
+"là cần được giải quyết)"
+
+#: wt-status.c:177
+msgid "  (use \"git rm <file>...\" to mark resolution)"
+msgstr "  (dùng \"git rm <tập-tin>...\" để đánh dấu là cần giải quyết)"
 
-#: wt-status.c:152
+#: wt-status.c:188
 msgid "Changes to be committed:"
 msgstr "Những thay đổi sẽ được chuyển giao:"
 
-#: wt-status.c:170
+#: wt-status.c:206
 msgid "Changes not staged for commit:"
-msgstr "Các thay đổi không được đặt trạng thái (stage) cho lần chuyển giao (commit):"
+msgstr ""
+"Các thay đổi không được đặt trạng thái (stage) cho lần chuyển giao (commit):"
 
-#: wt-status.c:174
+#: wt-status.c:210
 msgid "  (use \"git add <file>...\" to update what will be committed)"
-msgstr "  (sử dụng \"git add <tập-tin>...\" để cập nhật những gì cần chuyển giao (commit))"
+msgstr ""
+"  (dùng \"git add <tập-tin>...\" để cập nhật những gì cần chuyển giao "
+"(commit))"
 
-#: wt-status.c:176
+#: wt-status.c:212
 msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
-msgstr "  (sử dụng \"git add/rm <tập_tin>...\" để cập nhật những gì sẽ được chuyển giao)"
+msgstr ""
+"  (dùng \"git add/rm <tập-tin>...\" để cập nhật những gì sẽ được chuyển giao)"
 
-#: wt-status.c:177
-msgid "  (use \"git checkout -- <file>...\" to discard changes in working directory)"
-msgstr "  (sử dụng \"git checkout -- <tập_tin>...\" để loại bỏ những thay đổi trong thư mục làm việc)"
+#: wt-status.c:213
+msgid ""
+"  (use \"git checkout -- <file>...\" to discard changes in working directory)"
+msgstr ""
+"  (dùng \"git checkout -- <tập-tin>...\" để bỏ thay đổi trong thư mục làm "
+"việc)"
 
-#: wt-status.c:179
+#: wt-status.c:215
 msgid "  (commit or discard the untracked or modified content in submodules)"
-msgstr "  (chuyển giao (commit) hoặc là loại bỏ các nội dung không-bị-theo-vết hay đã bị chỉnh sửa trong mô-đun-con)"
-
-#: wt-status.c:188
-#, c-format
-msgid "%s files:"
-msgstr "%s tệp tin:"
+msgstr ""
+"  (chuyển giao (commit) hoặc là loại bỏ các nội dung không-bị-theo-vết hay "
+"đã bị chỉnh sửa trong mô-đun-con)"
 
-#: wt-status.c:191
+#: wt-status.c:227
 #, c-format
 msgid "  (use \"git %s <file>...\" to include in what will be committed)"
-msgstr "  (sử dụng \"git %s <tập-tin>...\" để bao gồm thêm vào những gì cần chuyển giao (commit))"
+msgstr ""
+"  (dùng \"git %s <tập-tin>...\" để thêm vào những gì cần chuyển giao "
+"(commit))"
 
-#: wt-status.c:208
+#: wt-status.c:244
 msgid "bug"
 msgstr "lỗi"
 
-#: wt-status.c:213
+#: wt-status.c:249
 msgid "both deleted:"
 msgstr "bị xóa bởi cả hai:"
 
-#: wt-status.c:214
+#: wt-status.c:250
 msgid "added by us:"
 msgstr "được thêm vào bởi chúng tôi:"
 
-#: wt-status.c:215
+#: wt-status.c:251
 msgid "deleted by them:"
 msgstr "bị xóa đi bởi họ:"
 
-#: wt-status.c:216
+#: wt-status.c:252
 msgid "added by them:"
 msgstr "được thêm vào bởi họ:"
 
-#: wt-status.c:217
+#: wt-status.c:253
 msgid "deleted by us:"
 msgstr "bị xóa bởi chúng tôi:"
 
-#: wt-status.c:218
+#: wt-status.c:254
 msgid "both added:"
 msgstr "được thêm vào bởi cả hai:"
 
-#: wt-status.c:219
+#: wt-status.c:255
 msgid "both modified:"
 msgstr "bị sửa bởi cả hai:"
 
-#: wt-status.c:249
+#: wt-status.c:285
 msgid "new commits, "
-msgstr " lần chuyển giao (commit) mới, "
+msgstr "lần chuyển giao (commit) mới, "
 
-#: wt-status.c:251
+#: wt-status.c:287
 msgid "modified content, "
-msgstr "nội dung được sửa đổi,"
+msgstr "nội dung được sửa đổi, "
 
-#: wt-status.c:253
+#: wt-status.c:289
 msgid "untracked content, "
-msgstr "nội dung chưa được theo dõi"
+msgstr "nội dung chưa được theo dõi"
 
-#: wt-status.c:267
+#: wt-status.c:303
 #, c-format
 msgid "new file:   %s"
 msgstr "tập tin mới:   %s"
 
-#: wt-status.c:270
+#: wt-status.c:306
 #, c-format
 msgid "copied:     %s -> %s"
 msgstr "đã sao chép:     %s -> %s"
 
-#: wt-status.c:273
+#: wt-status.c:309
 #, c-format
 msgid "deleted:    %s"
-msgstr "bị xóa:    %s"
+msgstr "đã xóa:    %s"
 
-#: wt-status.c:276
+#: wt-status.c:312
 #, c-format
 msgid "modified:   %s"
-msgstr "bị sửa đổi:   %s"
+msgstr "đã sửa đổi:   %s"
 
-#: wt-status.c:279
+#: wt-status.c:315
 #, c-format
 msgid "renamed:    %s -> %s"
 msgstr "đã đổi tên:    %s -> %s"
 
-#: wt-status.c:282
+#: wt-status.c:318
 #, c-format
 msgid "typechange: %s"
 msgstr "đổi-kiểu: %s"
 
-#: wt-status.c:285
+#: wt-status.c:321
 #, c-format
 msgid "unknown:    %s"
-msgstr "không :    %s"
+msgstr "không hiểu:    %s"
 
-#: wt-status.c:288
+#: wt-status.c:324
 #, c-format
 msgid "unmerged:   %s"
 msgstr "chưa hòa trộn:   %s"
 
-#: wt-status.c:291
+#: wt-status.c:327
 #, 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:737
+#: wt-status.c:785
+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
+msgid "  (fix conflicts and run \"git commit\")"
+msgstr "  (sửa các xung đột sau đó chạy \"git commit\")"
+
+#: wt-status.c:791
+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
+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
+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
+msgid "The current patch is empty."
+msgstr "Miếng vá hiện tại bị trống rỗng."
+
+#: wt-status.c:811
+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
+msgid "  (use \"git am --skip\" to skip this patch)"
+msgstr "  (dùng \"git am --skip\" để bỏ qua lần vá này)"
+
+#: wt-status.c:815
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
 msgid "On branch "
-msgstr "Trên nhánh"
+msgstr "Trên nhánh "
 
-#: wt-status.c:744
+#: wt-status.c:985
 msgid "Not currently on any branch."
 msgstr "Hiện tại chẳng ở nhánh nào cả."
 
-#: wt-status.c:755
+#: wt-status.c:997
 msgid "Initial commit"
 msgstr "Lần chuyển giao (commit) khởi đầu"
 
-#: wt-status.c:769
-msgid "Untracked"
-msgstr "Không được theo vết"
+#: wt-status.c:1011
+msgid "Untracked files"
+msgstr "Những tập tin chưa được theo dõi"
 
-#: wt-status.c:771
-msgid "Ignored"
-msgstr "Bị bỏ qua"
+#: wt-status.c:1013
+msgid "Ignored files"
+msgstr "Những tập tin bị lờ đi"
 
-#: wt-status.c:773
+#: wt-status.c:1015
 #, 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:775
+#: wt-status.c:1017
 msgid " (use -u option to show untracked files)"
-msgstr " (sử dụng tùy chọn -u để hiển thị các tập tin chưa được theo dõi)"
+msgstr " (ng tùy chọn -u để hiển thị các tập tin chưa được theo dõi)"
 
-#: wt-status.c:781
+#: wt-status.c:1023
 msgid "No changes"
 msgstr "Không có thay đổi nào"
 
-#: wt-status.c:785
+#: wt-status.c:1028
 #, c-format
-msgid "no changes added to commit%s\n"
-msgstr "không có thay đổi nào được thêm vào lần chuyển giao (commit)%s\n"
+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:787
-msgid " (use \"git add\" and/or \"git commit -a\")"
-msgstr " (sử dụng \"git add\" và/hoặc \"git commit -a\")"
+#: wt-status.c:1031
+#, 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:789
+#: wt-status.c:1034
 #, c-format
-msgid "nothing added to commit but untracked files present%s\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%s\n"
+msgid ""
+"nothing added to commit but untracked files present (use \"git add\" to "
+"track)\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 (dùng \"git add\" để đưa vào theo dõi)\n"
 
-#: wt-status.c:791
-msgid " (use \"git add\" to track)"
-msgstr " (sử dụng \"git add\" để theo dõi dấu vết)"
+#: wt-status.c:1037
+#, 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:793
-#: wt-status.c:796
-#: wt-status.c:799
+#: wt-status.c:1040
 #, c-format
-msgid "nothing to commit%s\n"
-msgstr "không có gì để chuyển giao (commit) %s\n"
+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:794
-msgid " (create/copy files and use \"git add\" to track)"
-msgstr " (tạo/sao-chép các tập tin và sử dụng \"git add\" để theo dõi dấu vết)"
+#: wt-status.c:1043 wt-status.c:1048
+#, c-format
+msgid "nothing to commit\n"
+msgstr "không có gì để chuyển giao (commit)\n"
 
-#: wt-status.c:797
-msgid " (use -u to show untracked files)"
-msgstr " (sử dụng tùy chọn -u để hiển thị các tập tin chưa được theo dõi)"
+#: wt-status.c:1046
+#, 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:800
-msgid " (working directory clean)"
-msgstr " (thư mục làm việc sạch sẽ)"
+#: wt-status.c:1050
+#, 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:908
+#: wt-status.c:1158
 msgid "HEAD (no branch)"
-msgstr "HEAD (chưa có nhánh nào)"
+msgstr "HEAD (không nhánh)"
 
-#: wt-status.c:914
+#: wt-status.c:1164
 msgid "Initial commit on "
-msgstr "Lần chuyển giao (commit)  khởi tạo trên"
+msgstr "Lần chuyển giao (commit) khởi tạo trên "
 
-#: wt-status.c:929
+#: wt-status.c:1179
 msgid "behind "
-msgstr "đằng sau"
+msgstr "đằng sau "
 
-#: wt-status.c:932
-#: wt-status.c:935
+#: wt-status.c:1182 wt-status.c:1185
 msgid "ahead "
-msgstr "phía trước"
+msgstr "phía trước "
 
-#: wt-status.c:937
+#: wt-status.c:1187
 msgid ", behind "
-msgstr ", đằng sau"
+msgstr ", đằng sau "
+
+#: compat/precompose_utf8.c:58 builtin/clone.c:341
+#, 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:62
 #, 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:226
+#: builtin/add.c:67 builtin/commit.c:231
 msgid "updating files failed"
 msgstr "Cập nhật tập tin gặp lỗi"
 
 #: builtin/add.c:77
 #, c-format
 msgid "remove '%s'\n"
-msgstr "gỡ bỏ '%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'"
+msgstr "Đường dẫn “%s” thì ở trong mô-đun-con “%.*s”"
 
 #: builtin/add.c:192
 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:"
+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:456
-#: builtin/rm.c:186
+#: builtin/add.c:195 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"
+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"
+msgstr "“%s” nằm ngoài một liên kết tượng trưng"
 
 #: builtin/add.c:276
 msgid "Could not read the index"
@@ -964,7 +1456,7 @@ msgstr "Không thể đọc bảng mục lục"
 #: builtin/add.c:286
 #, 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
 msgid "Could not write patch"
@@ -973,7 +1465,7 @@ msgstr "Không thể ghi ra miếng vá"
 #: builtin/add.c:295
 #, c-format
 msgid "Could not stat '%s'"
-msgstr "không thể lấy trạng thái về '%s'"
+msgstr "không thể lấy trạng thái về “%s”"
 
 #: builtin/add.c:297
 msgid "Empty patch. Aborted."
@@ -982,200 +1474,261 @@ msgstr "Miếng vá trống rỗng. Đã bỏ qua."
 #: builtin/add.c:303
 #, c-format
 msgid "Could not apply '%s'"
-msgstr "Không thể apply (áp dụng miếng vá) '%s'"
+msgstr "Không thể apply (áp dụng miếng vá) “%s”"
 
-#: builtin/add.c:312
+#: builtin/add.c:313
 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"
+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/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
+msgid "be verbose"
+msgstr "chi tiết"
 
-#: builtin/add.c:352
-#, 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:322
+msgid "interactive picking"
+msgstr "sửa bằng cách tương tác"
 
-#: builtin/add.c:353
-msgid "no files added"
-msgstr "chưa có tập tin nào được thêm vào"
+#: builtin/add.c:323 builtin/checkout.c:1031 builtin/reset.c:248
+msgid "select hunks interactively"
+msgstr "chọn “hunks” một cách tương tác"
 
-#: builtin/add.c:359
-msgid "adding files failed"
-msgstr "thêm tập tin gặp lỗi"
+#: builtin/add.c:324
+msgid "edit current diff and apply"
+msgstr "sửa diff hiện nay và áp dụng nó"
 
-#: builtin/add.c:391
-msgid "-A and -u are mutually incompatible"
-msgstr "-A và -u xung khắc nhau"
+#: builtin/add.c:325
+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:393
-msgid "Option --ignore-missing can only be used together with --dry-run"
-msgstr "Tùy chọn --ignore-missing chỉ có thể được sử dụng cùng với --dry-run"
+#: builtin/add.c:326
+msgid "update tracked files"
+msgstr "cập nhật các tập tin được theo vết"
 
-#: builtin/add.c:413
+#: builtin/add.c:327
+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
+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
+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
+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
+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
+#, 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
+msgid "no files added"
+msgstr "chưa có tập tin nào được thêm vào"
+
+#: builtin/add.c:360
+msgid "adding files failed"
+msgstr "thêm tập tin gặp lỗi"
+
+#: builtin/add.c:392
+msgid "-A and -u are mutually incompatible"
+msgstr "-A và -u xung khắc nhau"
+
+#: builtin/add.c:394
+msgid "Option --ignore-missing can only be used together with --dry-run"
+msgstr "Tùy chọn --ignore-missing chỉ có thể được dùng cùng với --dry-run"
+
+#: builtin/add.c:414
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "Không có gì được chỉ ra, không có gì được thêm vào.\n"
 
-#: builtin/add.c:414
+#: builtin/add.c:415
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
-msgstr "Có lẽ bạn muốn nói là 'git add .' phải không?\n"
+msgstr "Có lẽ bạn muốn là “git add .” phải không?\n"
 
-#: builtin/add.c:420
-#: builtin/clean.c:95
-#: builtin/commit.c:286
-#: builtin/mv.c:82
-#: builtin/rm.c:162
+#: builtin/add.c:421 builtin/clean.c:95 builtin/commit.c:291 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:476
-#: builtin/apply.c:4108
-#: builtin/mv.c:229
-#: builtin/rm.c:260
+#: builtin/add.c:481 builtin/apply.c:4450 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"
 
-#: builtin/apply.c:53
+#: builtin/apply.c:57
 msgid "git apply [options] [<patch>...]"
 msgstr "git apply [các-tùy-chọn] [<miếng-vá>...]"
 
-#: builtin/apply.c:106
+#: builtin/apply.c:110
 #, c-format
 msgid "unrecognized whitespace option '%s'"
-msgstr "không nhận ra tùy chọn về khoảng trắng '%s'"
+msgstr "không nhận ra tùy chọn về khoảng trắng “%s”"
 
-#: builtin/apply.c:121
+#: builtin/apply.c:125
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
-msgstr "không nhận ra tùy chọn bỏ qua khoảng trắng '%s'"
+msgstr "không nhận ra tùy chọn bỏ qua khoảng trắng “%s”"
 
-#: builtin/apply.c:815
+#: builtin/apply.c:823
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
-msgstr "Không thể chuẩn bị biểu thức chính qui dấu vết thời gian (timestamp regexp) %s"
+msgstr ""
+"Không thể chuẩn bị biểu thức chính qui dấu vết thời gian (timestamp regexp) "
+"%s"
 
-#: builtin/apply.c:824
+#: builtin/apply.c:832
 #, c-format
 msgid "regexec returned %d for input: %s"
 msgstr "thi hành biểu thức chính quy trả về %d cho kết xuất: %s"
 
-#: builtin/apply.c:905
+#: builtin/apply.c:913
 #, c-format
 msgid "unable to find filename in patch at line %d"
 msgstr "không thể tìm thấy tên tập tin trong miếng vá tại dòng %d"
 
-#: builtin/apply.c:937
+#: builtin/apply.c:945
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
 msgstr "git apply: git-diff sai - mong đợi /dev/null, đã nhận %s trên dòng %d"
 
-#: builtin/apply.c:941
+#: builtin/apply.c:949
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr "git apply: git-diff sai - tên tập tin mới mâu thuấn trên dòng %d"
 
-#: builtin/apply.c:942
+#: builtin/apply.c:950
 #, c-format
 msgid "git apply: bad git-diff - inconsistent old filename on line %d"
 msgstr "git apply: git-diff sai - tên tập tin cũ mâu thuấn trên dòng %d"
 
-#: builtin/apply.c:949
+#: 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"
 
-#: builtin/apply.c:1394
+#: builtin/apply.c:1420
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "chi tiết: dòng không được mong đợi: %.*s"
 
-#: builtin/apply.c:1451
+#: builtin/apply.c:1477
 #, 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:1468
+#: builtin/apply.c:1494
 #, c-format
-msgid "git diff header lacks filename information when removing %d leading pathname component (line %d)"
-msgid_plural "git diff header lacks filename information when removing %d leading pathname components (line %d)"
-msgstr[0] "phần đầu diff cho git  thiếu thông tin tên tập tin khi gỡ bỏ đi %d trong thành phần dẫn đầu tên của đường dẫn (dòng %d)"
-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)"
+msgid ""
+"git diff header lacks filename information when removing %d leading pathname "
+"component (line %d)"
+msgid_plural ""
+"git diff header lacks filename information when removing %d leading pathname "
+"components (line %d)"
+msgstr[0] ""
+"phần đầu diff cho git  thiếu thông tin tên tập tin khi gỡ bỏ đi %d trong "
+"thành phần dẫn đầu tên của đường dẫn (dòng %d)"
+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:1628
+#: builtin/apply.c:1654
 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:1630
+#: builtin/apply.c:1656
 msgid "deleted file still has contents"
 msgstr "tập tin đã xóa vẫn còn nội dung"
 
-#: builtin/apply.c:1656
+#: builtin/apply.c:1682
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "miếng vá hỏng tại dòng %d"
 
-#: builtin/apply.c:1692
+#: builtin/apply.c:1718
 #, 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:1694
+#: builtin/apply.c:1720
 #, 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:1697
+#: builtin/apply.c:1723
 #, 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:1843
+#: builtin/apply.c:1869
 #, 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:1872
+#: builtin/apply.c:1898
 #, 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:1958
+#: builtin/apply.c:1984
 #, c-format
 msgid "patch with only garbage at line %d"
-msgstr "vá chỉ với 'garbage' tại dòng %d"
+msgstr "vá chỉ với “garbage” tại dòng %d"
 
-#: builtin/apply.c:2048
+#: builtin/apply.c:2074
 #, 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:2052
+#: builtin/apply.c:2078
 #, c-format
 msgid "unable to open or read %s"
 msgstr "không thể mở để đọc hay ghi %s"
 
-#: builtin/apply.c:2123
+#: builtin/apply.c:2149
 msgid "oops"
 msgstr "ôi?"
 
-#: builtin/apply.c:2645
+#: builtin/apply.c:2671
 #, c-format
 msgid "invalid start of line: '%c'"
-msgstr "sai khởi đầu dòng: '%c'"
+msgstr "sai khởi đầu dòng: “%c”"
 
-#: builtin/apply.c:2763
+#: builtin/apply.c:2789
 #, 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:2775
+#: builtin/apply.c:2801
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
-msgstr "Nội dung được giảm xuống (%ld/%ld) để áp dụng mảnh dữ liệu tại %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:2781
+#: builtin/apply.c:2807
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -1184,320 +1737,325 @@ msgstr ""
 "Trong khi đang tìm kiếm cho:\n"
 "%.*s"
 
-#: builtin/apply.c:2800
+#: builtin/apply.c:2826
 #, 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'"
+msgstr "thiếu dữ liệu của miếng vá định dạng nhị phân cho “%s”"
 
-#: builtin/apply.c:2903
+#: builtin/apply.c:2929
 #, 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'"
+msgstr "miếng vá định dạng nhị phân không được áp dụng cho “%s”"
 
-#: builtin/apply.c:2909
+#: builtin/apply.c:2935
 #, 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 (đang chờ %s, đã nhận %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:2930
+#: builtin/apply.c:2956
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "vá gặp lỗi: %s:%ld"
 
-#: builtin/apply.c:3045
+#: builtin/apply.c:3078
 #, c-format
-msgid "patch %s has been renamed/deleted"
-msgstr "miếng vá %s đã bị xóa/đổi tên"
+msgid "cannot checkout %s"
+msgstr "không thể \"checkout\" %s"
 
-#: builtin/apply.c:3052
-#: builtin/apply.c:3069
+#: builtin/apply.c:3123 builtin/apply.c:3132 builtin/apply.c:3176
 #, c-format
 msgid "read of %s failed"
 msgstr "đọc %s gặp lỗi"
 
-#: builtin/apply.c:3084
-msgid "removal patch leaves file contents"
-msgstr "loại bỏ miếng vá để lại nội dung tập tin"
-
-#: builtin/apply.c:3105
+#: builtin/apply.c:3156 builtin/apply.c:3378
 #, c-format
-msgid "%s: already exists in working directory"
-msgstr "%s: đã sẵn có trong thư mục đang làm việc"
+msgid "path %s has been renamed/deleted"
+msgstr "đường dẫn %s đã bị xóa/đổi tên"
 
-#: builtin/apply.c:3143
+#: builtin/apply.c:3237 builtin/apply.c:3392
 #, c-format
-msgid "%s: has been deleted/renamed"
-msgstr "%s: đã được xóa/thay-tên"
+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:3148
-#: builtin/apply.c:3179
+#: builtin/apply.c:3241 builtin/apply.c:3384 builtin/apply.c:3406
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: builtin/apply.c:3159
-#, 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:3173
+#: builtin/apply.c:3246 builtin/apply.c:3400
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s: không khớp trong mục lục"
 
-#: builtin/apply.c:3190
+#: builtin/apply.c:3348
+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
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s: sai kiểu"
 
-#: builtin/apply.c:3192
+#: builtin/apply.c:3419
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s có kiểu %o, mong chờ %o"
 
-#: builtin/apply.c:3247
+#: builtin/apply.c:3520
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s: đã có từ trước trong bảng mục lục"
 
-#: builtin/apply.c:3267
+#: builtin/apply.c:3523
+#, 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
 #, 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:3272
+#: builtin/apply.c:3548
 #, 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:3280
+#: builtin/apply.c:3556
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: miếng vá không được áp dụng"
 
-#: builtin/apply.c:3293
+#: builtin/apply.c:3569
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Đang kiểm tra miếng vá %s..."
 
-#: builtin/apply.c:3348
-#: builtin/checkout.c:212
-#: builtin/reset.c:158
+#: builtin/apply.c:3624 builtin/checkout.c:215 builtin/reset.c:158
 #, 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'"
+msgstr "make_cache_entry gặp lỗi đối với đường dẫn “%s”"
 
-#: builtin/apply.c:3491
+#: builtin/apply.c:3767
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "không thể gỡ bỏ %s từ mục lục"
 
-#: builtin/apply.c:3518
+#: builtin/apply.c:3795
 #, c-format
 msgid "corrupt patch for subproject %s"
 msgstr "miếng vá sai hỏng cho dự án con (subproject) %s"
 
-#: builtin/apply.c:3522
+#: builtin/apply.c:3799
 #, 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:3527
+#: builtin/apply.c:3804
 #, 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"
+msgstr "không thể tạo “backing store” cho tập tin được tạo mới hơn %s"
 
-#: builtin/apply.c:3530
+#: builtin/apply.c:3807 builtin/apply.c:3915
 #, 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:3563
+#: builtin/apply.c:3840
 #, c-format
 msgid "closing file '%s'"
-msgstr "đang đóng tập tin '%s'"
+msgstr "đang đóng tập tin “%s”"
 
-#: builtin/apply.c:3612
+#: builtin/apply.c:3889
 #, c-format
 msgid "unable to write file '%s' mode %o"
-msgstr "không thể ghi vào tập tin '%s' chế độ (mode) %o"
+msgstr "không thể ghi vào tập tin “%s” chế độ (mode) %o"
 
-#: builtin/apply.c:3668
+#: builtin/apply.c:3976
 #, 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:3676
+#: builtin/apply.c:3984
 msgid "internal error"
 msgstr "lỗi nội bộ"
 
 #. Say this even without --verbose
-#: builtin/apply.c:3679
+#: builtin/apply.c:3987
 #, 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:3689
+#: builtin/apply.c:3997
 #, 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:3710
+#: builtin/apply.c:4018
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Khối nhớ #%d được áp dụng gọn gàng."
 
-#: builtin/apply.c:3713
+#: builtin/apply.c:4021
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "hunk #%d bị từ chối."
 
-#: builtin/apply.c:3844
+#: builtin/apply.c:4171
 msgid "unrecognized input"
 msgstr "không thừa nhận đầu vào"
 
-#: builtin/apply.c:3855
+#: builtin/apply.c:4182
 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:3970
-#: builtin/apply.c:3973
+#: builtin/apply.c:4301 builtin/apply.c:4304 builtin/clone.c:91
+#: builtin/fetch.c:63
 msgid "path"
 msgstr "đường-dẫn"
 
-#: builtin/apply.c:3971
+#: builtin/apply.c:4302
 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:3974
+#: builtin/apply.c:4305
 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:3976
+#: builtin/apply.c:4307
 msgid "num"
 msgstr "số"
 
-#: builtin/apply.c:3977
+#: builtin/apply.c:4308
 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:3980
+#: builtin/apply.c:4311
 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:3982
+#: builtin/apply.c:4313
 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"
+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:3986
-msgid "shows 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:4317
+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:3988
+#: builtin/apply.c:4319
 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:3990
+#: builtin/apply.c:4321
 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:3992
+#: builtin/apply.c:4323
 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:3994
+#: builtin/apply.c:4325
 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:3996
+#: builtin/apply.c:4327
 msgid "also apply the patch (use with --stat/--summary/--check)"
-msgstr "đồng thời áp dụng miếng vá (sử dụng với tùy chọn --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:3998
+#: builtin/apply.c:4329
+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
 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"
+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:4000
+#: builtin/apply.c:4333 builtin/checkout-index.c:197 builtin/ls-files.c:460
 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:4003
+#: builtin/apply.c:4336
 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:4004
+#: builtin/apply.c:4337
 msgid "action"
 msgstr "hành động"
 
-#: builtin/apply.c:4005
+#: builtin/apply.c:4338
 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:4008
-#: builtin/apply.c:4011
+#: builtin/apply.c:4341 builtin/apply.c:4344
 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:4014
+#: builtin/apply.c:4347
 msgid "apply the patch in reverse"
 msgstr "áp dụng miếng vá theo chiều ngược"
 
-#: builtin/apply.c:4016
+#: builtin/apply.c:4349
 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:4018
+#: builtin/apply.c:4351
 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:4020
+#: builtin/apply.c:4353
 msgid "allow overlapping hunks"
 msgstr "cho phép chồng khối nhớ"
 
-#: builtin/apply.c:4021
-msgid "be verbose"
-msgstr "chi tiết"
-
-#: builtin/apply.c:4023
+#: builtin/apply.c:4356
 msgid "tolerate incorrectly detected missing new-line at the end of file"
-msgstr "dung sai không chính xác đã tìm thấy thiếu dòng mới tại cuối tập tin"
+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:4026
+#: builtin/apply.c:4359
 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:4028
+#: builtin/apply.c:4361
 msgid "root"
 msgstr "root"
 
-#: builtin/apply.c:4029
+#: builtin/apply.c:4362
 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:4050
+#: builtin/apply.c:4384
+msgid "--3way outside a repository"
+msgstr "--3way ở ngoài một kho chứa"
+
+#: builtin/apply.c:4392
 msgid "--index outside a repository"
 msgstr "--index ở ngoài một kho chứa"
 
-#: builtin/apply.c:4053
+#: builtin/apply.c:4395
 msgid "--cached outside a repository"
 msgstr "--cached ở ngoài một kho chứa"
 
-#: builtin/apply.c:4069
+#: builtin/apply.c:4411
 #, c-format
 msgid "can't open patch '%s'"
-msgstr "không thể mở miếng vá '%s'"
+msgstr "không thể mở miếng vá “%s”"
 
-#: builtin/apply.c:4083
+#: builtin/apply.c:4425
 #, 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:4089
-#: builtin/apply.c:4099
+#: builtin/apply.c:4431 builtin/apply.c:4441
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
@@ -1507,7 +2065,7 @@ msgstr[1] "%d dòng thêm khoảng trắng lỗi."
 #: builtin/archive.c:17
 #, c-format
 msgid "could not create archive file '%s'"
-msgstr "không thể tạo tập tin kho (lưu trữ, nén) '%s'"
+msgstr "không thể tạo tập tin kho (lưu trữ, nén) “%s”"
 
 #: builtin/archive.c:20
 msgid "could not redirect output"
@@ -1539,186 +2097,449 @@ msgstr "git archive: lỗi giao thức"
 msgid "git archive: expected a flush"
 msgstr "git archive: đã mong chờ một flush"
 
-#: builtin/branch.c:144
+#: builtin/bisect--helper.c:7
+msgid "git bisect--helper --next-all [--no-checkout]"
+msgstr "git bisect--helper --next-all [--no-checkout]"
+
+#: builtin/bisect--helper.c:17
+msgid "perform 'git bisect next'"
+msgstr "thực hiện “git bisect next”"
+
+#: builtin/bisect--helper.c:19
+msgid "update BISECT_HEAD instead of checking out the current commit"
+msgstr ""
+"cập nhật BISECT_HEAD thay vì lấy ra (checking out) lần chuyển giao (commit) "
+"hiện hành"
+
+#: builtin/blame.c:25
+msgid "git blame [options] [rev-opts] [rev] [--] file"
+msgstr "git blame [các-tùy-chọn] [rev-opts] [rev] [--] tập-tin"
+
+#: builtin/blame.c:30 builtin/shortlog.c:15
+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
+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
+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
+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
+msgid "Show work cost statistics"
+msgstr "Hiển thị thống kê công sức làm việc"
+
+#: builtin/blame.c:2378
+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
+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
+msgid "Show original linenumber (Default: off)"
+msgstr "Hiển thị số dòng gốc (Mặc định: off)"
+
+#: builtin/blame.c:2381
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+msgid "score"
+msgstr "điểm số"
+
+#: builtin/blame.c:2392
+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
+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
+msgid "n,m"
+msgstr "n,m"
+
+#: builtin/blame.c:2394
+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
+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
+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
+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
+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
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
 "         '%s', but not yet merged to HEAD."
 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."
+"đ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:148
+#: builtin/branch.c:149
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
 "         '%s', even though it is merged to HEAD."
 msgstr ""
-"không xóa nhánh '%s' cái mà chưa được hòa trộng vào\n"
-"         '%s', cho dù là nó đã được hòa trộn vào HEAD."
+"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
+#, 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
+#, c-format
+msgid ""
+"The branch '%s' is not fully merged.\n"
+"If you are sure you want to delete it, run 'git branch -D %s'."
+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
+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
 msgid "cannot use -a with -d"
-msgstr "không thể sử dụng -a với -d"
+msgstr "không thể dùng tùy chọn -a với -d"
 
-#: builtin/branch.c:186
+#: builtin/branch.c:214
 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:191
+#: builtin/branch.c:222
 #, 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 ở."
+msgstr "Không thể xóa nhánh “%s” cái mà bạn hiện nay đang ở."
 
-#: builtin/branch.c:202
+#: builtin/branch.c:235
 #, c-format
 msgid "remote branch '%s' not found."
-msgstr "nhánh máy chủ '%s' không tìm thấy."
+msgstr "không tìm thấy nhánh máy chủ “%s”."
 
-#: builtin/branch.c:203
+#: builtin/branch.c:236
 #, c-format
 msgid "branch '%s' not found."
-msgstr "không tìm thấy nhánh '%s'."
-
-#: builtin/branch.c:210
-#, 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:216
-#, c-format
-msgid ""
-"The branch '%s' is not fully merged.\n"
-"If you are sure you want to delete it, run 'git branch -D %s'."
-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'."
+msgstr "không tìm thấy nhánh “%s”."
 
-#: builtin/branch.c:225
+#: builtin/branch.c:250
 #, 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 máy chủ “%s”"
 
-#: builtin/branch.c:226
+#: builtin/branch.c:251
 #, c-format
 msgid "Error deleting branch '%s'"
-msgstr "Lỗi khi xoá bỏ nhánh '%s'"
+msgstr "Lỗi khi xoá bỏ nhánh “%s”"
 
-#: builtin/branch.c:233
+#: builtin/branch.c:258
 #, c-format
 msgid "Deleted remote branch %s (was %s).\n"
-msgstr "Nhánh máy chủ đã xóa %s (trước là %s).\n"
+msgstr "Nhánh máy chủ \"%s\" đã bị xóa (từng là %s).\n"
 
-#: builtin/branch.c:234
+#: builtin/branch.c:259
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
-msgstr "Nhánh đã bị xóa '%s' (trước là %s)\n"
+msgstr "Nhánh “%s” đã bị xóa (từng là %s)\n"
 
-#: builtin/branch.c:239
-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:337
+#: builtin/branch.c:361
 #, 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ả"
+msgstr "nhánh “%s” không chỉ đến một lần chuyển giao (commit) nào cả"
 
-#: builtin/branch.c:409
+#: builtin/branch.c:433
 #, c-format
 msgid "[%s: behind %d]"
 msgstr "[%s: đằng sau %d]"
 
-#: builtin/branch.c:411
+#: builtin/branch.c:435
 #, c-format
 msgid "[behind %d]"
 msgstr "[đằng sau %d]"
 
-#: builtin/branch.c:415
+#: builtin/branch.c:439
 #, c-format
 msgid "[%s: ahead %d]"
 msgstr "[%s: phía trước %d]"
 
-#: builtin/branch.c:417
+#: builtin/branch.c:441
 #, c-format
 msgid "[ahead %d]"
 msgstr "[phía trước %d]"
 
-#: builtin/branch.c:420
+#: builtin/branch.c:444
 #, c-format
 msgid "[%s: ahead %d, behind %d]"
-msgstr "[%s: phía trước %d, phía sau %d]"
+msgstr "[%s: trước %d, sau %d]"
 
-#: builtin/branch.c:423
+#: builtin/branch.c:447
 #, c-format
 msgid "[ahead %d, behind %d]"
-msgstr "[phía trước %d, phía sau %d]"
+msgstr "[trước %d, sau %d]"
 
-#: builtin/branch.c:535
+#: builtin/branch.c:560
 msgid "(no branch)"
-msgstr "(không có nhánh nào)"
+msgstr "(không nhánh)"
 
-#: builtin/branch.c:600
+#: builtin/branch.c:625
 msgid "some refs could not be read"
 msgstr "một số tham chiếu đã không thể đọc được"
 
-#: builtin/branch.c:613
+#: builtin/branch.c:638
 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:623
+#: builtin/branch.c:648
 #, c-format
 msgid "Invalid branch name: '%s'"
-msgstr "tên nhánh sai: '%s'"
+msgstr "Sai tên nhánh: “%s”"
 
-#: builtin/branch.c:638
+#: builtin/branch.c:663
 msgid "Branch rename failed"
 msgstr "Đổi tên nhánh gặp lỗi"
 
-#: builtin/branch.c:642
+#: builtin/branch.c:667
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
-msgstr "Đã đổi tên nhánh khuyết danh '%s' đi"
+msgstr "Đã đổi tên nhánh khuyết danh “%s” đi"
 
-#: builtin/branch.c:646
+#: builtin/branch.c:671
 #, 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:653
+#: builtin/branch.c:678
 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:668
+#: builtin/branch.c:693
 #, c-format
 msgid "malformed object name %s"
 msgstr "tên đối tượng dị hình %s"
 
-#: builtin/branch.c:692
+#: builtin/branch.c:717
 #, 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:783
+#: builtin/branch.c:747
+msgid "Generic options"
+msgstr "Tùy chọn chung"
+
+#: builtin/branch.c:749
+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
+msgid "suppress informational messages"
+msgstr "Thu hồi các thông điệp thông tin"
+
+#: builtin/branch.c:751
+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
+msgid "change upstream info"
+msgstr "thay đổi thông tin thượng nguồn (upstream)"
+
+#: builtin/branch.c:757
+msgid "use colored output"
+msgstr "sử dụng kết xuất có tô màu"
+
+#: builtin/branch.c:758
+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
+msgid "commit"
+msgstr "commit"
+
+#: builtin/branch.c:762 builtin/branch.c:768
+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
+msgid "Specific git-branch actions:"
+msgstr "Hành động git-branch:"
+
+#: builtin/branch.c:775
+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
+msgid "delete fully merged branch"
+msgstr "xóa một cách đầy đủ nhánh đã hòa trộn"
+
+#: builtin/branch.c:778
+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
+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
+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
+msgid "list branch names"
+msgstr "liệt kê các tên nhánh"
+
+#: builtin/branch.c:782
+msgid "create the branch's reflog"
+msgstr "tạo reflog của nhánh"
+
+#: builtin/branch.c:784
+msgid "edit the description for the branch"
+msgstr "sửa mô tả cho nhánh"
+
+#: builtin/branch.c:785
+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
+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
+msgid "print only merged branches"
+msgstr "chỉ hiển thị các nhánh được hòa trộn"
+
+#: builtin/branch.c:798
+msgid "list branches in columns"
+msgstr "liệt kê các nhánh trong các cột"
+
+#: builtin/branch.c:811
 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ệ."
 
-#: builtin/branch.c:788
-#: builtin/clone.c:558
+#: builtin/branch.c:816 builtin/clone.c:561
 msgid "HEAD not found below refs/heads!"
-msgstr "HEAD không tìm thấy ở dưới refs/heads!"
+msgstr "không tìm thấy HEAD ở dưới refs/heads!"
 
-#: builtin/branch.c:808
+#: builtin/branch.c:836
 msgid "--column and --verbose are incompatible"
 msgstr "--column và --verbose xung khắc nhau"
 
-#: builtin/branch.c:857
+#: builtin/branch.c:887
+#, c-format
+msgid "branch '%s' does not exist"
+msgstr "nhánh “%s” chưa sẵn có"
+
+#: builtin/branch.c:899
+#, 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
 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"
+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
+#, c-format
+msgid ""
+"The --set-upstream flag is deprecated and will be removed. Consider using --"
+"track or --set-upstream-to\n"
+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
+#, c-format
+msgid ""
+"\n"
+"If you wanted to make '%s' track '%s', do this:\n"
+"\n"
+msgstr ""
+"\n"
+"Nếu bạn muốn “%s” theo dõi “%s”, thực hiện lệnh sau:\n"
+"\n"
+
+#: builtin/branch.c:935
+#, c-format
+msgid "    git branch -d %s\n"
+msgstr "    git branch -d %s\n"
+
+#: builtin/branch.c:936
+#, c-format
+msgid "    git branch --set-upstream-to %s\n"
+msgstr "    git branch --set-upstream-to %s\n"
 
 #: builtin/bundle.c:47
 #, c-format
 msgid "%s is okay\n"
-msgstr "'%s' tốt\n"
+msgstr "“%s” tốt\n"
 
 #: builtin/bundle.c:56
 msgid "Need a repository to create a bundle."
@@ -1728,107 +2549,226 @@ msgstr "Cần một kho chứa để mà tạo một bundle."
 msgid "Need a repository to unbundle."
 msgstr "Cần một kho chứa để mà bung một bundle."
 
-#: builtin/checkout.c:113
-#: builtin/checkout.c:146
+#: builtin/cat-file.c:247
+msgid "git cat-file (-t|-s|-e|-p|<type>|--textconv) <object>"
+msgstr "git cat-file (-t|-s|-e|-p|<kiểu>|--textconv) <đối tượng>"
+
+#: builtin/cat-file.c:248
+msgid "git cat-file (--batch|--batch-check) < <list_of_objects>"
+msgstr "git cat-file (--batch|--batch-check) < <danh-sách-đối-tượng>"
+
+#: builtin/cat-file.c:266
+msgid "<type> can be one of: blob, tree, commit, tag"
+msgstr "<kiểu> là một trong số: blob, tree, commit, tag"
+
+#: builtin/cat-file.c:267
+msgid "show object type"
+msgstr "hiển thị kiểu đối tượng"
+
+#: builtin/cat-file.c:268
+msgid "show object size"
+msgstr "hiển thị kích thước đối tượng"
+
+#: builtin/cat-file.c:270
+msgid "exit with zero when there's no error"
+msgstr "thoát với 0 khi không có lỗi"
+
+#: builtin/cat-file.c:271
+msgid "pretty-print object's content"
+msgstr "in nội dung đối tượng dạng dễ đọc"
+
+#: builtin/cat-file.c:273
+msgid "for blob objects, run textconv on object's content"
+msgstr "với đối tượng blob, chạy lệnh textconv trên nội dung của đối tượng"
+
+#: builtin/cat-file.c:275
+msgid "show info and content of objects fed from the standard input"
+msgstr ""
+"hiển thị thông tin và nội dung của các đối tượng lấy từ đầu vào tiêu chuẩn"
+
+#: builtin/cat-file.c:278
+msgid "show info about objects fed from the standard input"
+msgstr "hiển thị các thông tin về đối tượng fed  từ đầu vào tiêu chuẩn"
+
+#: builtin/check-attr.c:11
+msgid "git check-attr [-a | --all | attr...] [--] pathname..."
+msgstr "git check-attr [-a | --all | attr...] [--] tên-đường-dẫn..."
+
+#: builtin/check-attr.c:12
+msgid "git check-attr --stdin [-z] [-a | --all | attr...] < <list-of-paths>"
+msgstr ""
+"git check-attr --stdin [-z] [-a | --all | attr...] < <danh-sách-đường-dẫn>"
+
+#: builtin/check-attr.c:19
+msgid "report all attributes set on file"
+msgstr "báo cáo tất cả các thuộc tính đặt trên tập tin"
+
+#: builtin/check-attr.c:20
+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
+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
+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/checkout-index.c:126
+msgid "git checkout-index [options] [--] [<file>...]"
+msgstr "git checkout-index [các-tùy-chọn] [--] [<tập-tin>...]"
+
+#: builtin/checkout-index.c:187
+msgid "check out all files in the index"
+msgstr "lấy ra toàn bộ các tập tin trong bảng mục lục"
+
+#: builtin/checkout-index.c:188
+msgid "force overwrite of existing files"
+msgstr "ép buộc ghi đè lên tập tin đã sẵn có từ trước"
+
+#: builtin/checkout-index.c:190
+msgid "no warning for existing files and files not in index"
+msgstr ""
+"không cảnh báo cho những tập tin tồn tại và không có trong bảng mục lục"
+
+#: builtin/checkout-index.c:192
+msgid "don't checkout new files"
+msgstr "không checkout các tập tin mới"
+
+#: builtin/checkout-index.c:194
+msgid "update stat information in the index file"
+msgstr "cập nhật thông tin thống kê trong tập tin lưu bảng mục lục mới"
+
+#: builtin/checkout-index.c:200
+msgid "read list of paths from the standard input"
+msgstr " đọc danh sách đường dẫn từ thiết bị nhập chuẩn"
+
+#: builtin/checkout-index.c:202
+msgid "write the content to temporary files"
+msgstr "ghi nội dung vào tập tin tạm"
+
+#: builtin/checkout-index.c:203 builtin/column.c:30
+msgid "string"
+msgstr "chuỗi"
+
+#: builtin/checkout-index.c:204
+msgid "when creating files, prepend <string>"
+msgstr "khi tạo các tập tin, nối thêm <chuỗi>"
+
+#: builtin/checkout-index.c:207
+msgid "copy out the files from named stage"
+msgstr "sao chép ra các tập tin từ trạng thái được đặt tên"
+
+#: builtin/checkout.c:25
+msgid "git checkout [options] <branch>"
+msgstr "git checkout [các-tùy-chọn] <nhánh>"
+
+#: builtin/checkout.c:26
+msgid "git checkout [options] [<branch>] -- <file>..."
+msgstr "git checkout [các-tùy-chọn] [<nhánh>] -- <tập-tin>..."
+
+#: builtin/checkout.c:116 builtin/checkout.c:149
 #, c-format
 msgid "path '%s' does not have our version"
-msgstr "đường dẫn '%s' không có các phiên bản của chúng ta"
+msgstr "đường dẫn “%s” không có các phiên bản của chúng ta"
 
-#: builtin/checkout.c:115
-#: builtin/checkout.c:148
+#: builtin/checkout.c:118 builtin/checkout.c:151
 #, c-format
 msgid "path '%s' does not have their version"
-msgstr "đường dẫn '%s' không có các phiên bản của chúng"
+msgstr "đường dẫn “%s” không có các phiên bản của chúng"
 
-#: builtin/checkout.c:131
+#: builtin/checkout.c:134
 #, c-format
 msgid "path '%s' does not have all necessary versions"
-msgstr "đường dẫn '%s' không có tất cả các phiên bản cần thiết"
+msgstr "đường dẫn “%s” không có tất cả các phiên bản cần thiết"
 
-#: builtin/checkout.c:175
+#: builtin/checkout.c:178
 #, c-format
 msgid "path '%s' does not have necessary versions"
-msgstr "đường dẫn '%s' không có các phiên bản cần thiết"
+msgstr "đường dẫn “%s” không có các phiên bản cần thiết"
 
-#: builtin/checkout.c:192
+#: builtin/checkout.c:195
 #, c-format
 msgid "path '%s': cannot merge"
-msgstr "đường dẫn '%s': không thể hòa trộn"
+msgstr "đường dẫn “%s”: không thể hòa trộn"
 
-#: builtin/checkout.c:209
+#: builtin/checkout.c:212
 #, c-format
 msgid "Unable to add merge result for '%s'"
-msgstr "Không thể thêm kết quả hòa trộn cho '%s'"
+msgstr "Không thể thêm kết quả hòa trộn cho “%s”"
+
+#: builtin/checkout.c:236 builtin/checkout.c:239 builtin/checkout.c:242
+#: builtin/checkout.c:245
+#, c-format
+msgid "'%s' cannot be used with updating paths"
+msgstr "“%s” không thể được sử dụng với các đường dẫn cập nhật"
+
+#: builtin/checkout.c:248 builtin/checkout.c:251
+#, c-format
+msgid "'%s' cannot be used with %s"
+msgstr "“%s” không thể được sử dụng với %s"
+
+#: builtin/checkout.c:254
+#, c-format
+msgid "Cannot update paths and switch to branch '%s' at the same time."
+msgstr ""
+"Không thể cập nhật các đường dẫn và chuyển đến nhánh “%s” cùng một lúc."
 
-#: builtin/checkout.c:234
-#: builtin/checkout.c:392
+#: builtin/checkout.c:265 builtin/checkout.c:426
 msgid "corrupt index file"
 msgstr "tập tin ghi bảng mục lục bị hỏng"
 
-#: builtin/checkout.c:264
-#: builtin/checkout.c:271
+#: builtin/checkout.c:295 builtin/checkout.c:302
 #, c-format
 msgid "path '%s' is unmerged"
-msgstr "đường dẫn '%s' không được hòa trộn"
-
-#: builtin/checkout.c:302
-#: builtin/checkout.c:498
-#: builtin/clone.c:583
-#: builtin/merge.c:812
-msgid "unable to write new index file"
-msgstr "không thể ghi tập tin lưu bảng mục lục mới"
-
-#: builtin/checkout.c:319
-#: builtin/diff.c:302
-#: builtin/merge.c:408
-msgid "diff_setup_done failed"
-msgstr "diff_setup_done gặp lỗi"
+msgstr "đường dẫn “%s” không được hòa trộn"
 
-#: builtin/checkout.c:414
+#: builtin/checkout.c:448
 msgid "you need to resolve your current index first"
 msgstr "bạn cần phải giải quyết bảng mục lục hiện tại của bạn trước đã!"
 
-#: builtin/checkout.c:533
+#: builtin/checkout.c:569
 #, c-format
 msgid "Can not do reflog for '%s'\n"
-msgstr "Không thể thực hiện reflog cho '%s'\n"
+msgstr "Không thể thực hiện reflog cho “%s”\n"
 
-#: builtin/checkout.c:566
+#: builtin/checkout.c:602
 msgid "HEAD is now at"
 msgstr "HEAD hiện giờ tại"
 
-#: builtin/checkout.c:573
+#: builtin/checkout.c:609
 #, c-format
 msgid "Reset branch '%s'\n"
-msgstr "Đặt lại nhánh '%s'\n"
+msgstr "Đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:576
+#: builtin/checkout.c:612
 #, c-format
 msgid "Already on '%s'\n"
-msgstr "Đã sẵn sàng trên '%s'\n"
+msgstr "Đã sẵn sàng trên “%s”\n"
 
-#: builtin/checkout.c:580
+#: builtin/checkout.c:616
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
-msgstr "Đã chuyển tới và reset nhánh '%s'\n"
+msgstr "Đã chuyển tới và reset nhánh “%s”\n"
 
-#: builtin/checkout.c:582
+#: builtin/checkout.c:618 builtin/checkout.c:955
 #, c-format
 msgid "Switched to a new branch '%s'\n"
-msgstr "Đã chuyển đến nhánh mới '%s'\n"
+msgstr "Đã chuyển đến nhánh mới “%s”\n"
 
-#: builtin/checkout.c:584
+#: builtin/checkout.c:620
 #, c-format
 msgid "Switched to branch '%s'\n"
-msgstr "Đã chuyển đến nhánh '%s'\n"
+msgstr "Đã chuyển đến nhánh “%s”\n"
 
-#: builtin/checkout.c:640
+#: builtin/checkout.c:676
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... và nhiều hơn %d.\n"
 
 #. The singular version
-#: builtin/checkout.c:646
+#: builtin/checkout.c:682
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -1841,17 +2781,19 @@ msgid_plural ""
 "\n"
 "%s\n"
 msgstr[0] ""
-"Cảnh báo: bạn đã rời bở %d lần chuyển giao (commit) lại đằng sau, không được kết nối đến\n"
+"Cảnh báo: bạn đã rời bỏ %d lần chuyển giao (commit) lại đằng sau, không được "
+"kết nối đến\n"
 "bất kỳ nhánh nào của bạn:\n"
 "\n"
 "%s\n"
 msgstr[1] ""
-"Cảnh báo: bạn đã rời bở %d lần chuyển giao (commit) lại đằng sau, không được kết nối đến\n"
+"Cảnh báo: bạn đã rời bỏ %d lần chuyển giao (commit) lại đằng sau, không được "
+"kết nối đến\n"
 "bất kỳ nhánh nào của bạn:\n"
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:664
+#: builtin/checkout.c:700
 #, c-format
 msgid ""
 "If you want to keep them by creating a new branch, this may be a good time\n"
@@ -1860,135 +2802,230 @@ msgid ""
 " git branch new_branch_name %s\n"
 "\n"
 msgstr ""
-"Nếu bạn muốn giữ chúng bằng cách tạo ra một nhánh mới, đây có lẽ là một thời điểm thích hợp\n"
+"Nếu bạn muốn giữ chúng bằng cách tạo ra một nhánh mới, đây có lẽ là một thời "
+"điểm thích hợp\n"
 "để làm thế bằng lệnh:\n"
 "\n"
 " git branch tên_nhánh_mới %s\n"
 "\n"
 
-#: builtin/checkout.c:694
+#: builtin/checkout.c:730
 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:698
+#: builtin/checkout.c:734
 msgid "Previous HEAD position was"
 msgstr "Vị trí kế trước của HEAD là"
 
-#: builtin/checkout.c:724
+#: builtin/checkout.c:761 builtin/checkout.c:950
 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:855
+#: builtin/checkout.c:886
 #, c-format
 msgid "invalid reference: %s"
 msgstr "tham chiếu sai: %s"
 
 #. case (1): want a tree
-#: builtin/checkout.c:894
+#: builtin/checkout.c:925
 #, c-format
 msgid "reference is not a tree: %s"
-msgstr "tham chiếu không phải là cây:%s"
+msgstr "tham chiếu không phải là một cây (tree):%s"
 
-#: builtin/checkout.c:974
-msgid "-B cannot be used with -b"
-msgstr "-B không thể được sử dụng với -b"
+#: builtin/checkout.c:964
+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:983
-msgid "--patch is incompatible with all other options"
-msgstr "--patch xung khắc với tất cả các tùy chọn khác"
+#: builtin/checkout.c:967 builtin/checkout.c:971
+#, 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
-msgid "--detach cannot be used with -b/-B/--orphan"
-msgstr "--detach không thể được sử dụng với -b/-B/--orphan"
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "“%s” không thể được sử dụng với “%s”"
 
-#: builtin/checkout.c:988
-msgid "--detach cannot be used with -t"
-msgstr "--detach không thể được sử dụng với tùy chọn -t"
+#: builtin/checkout.c:991
+#, 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:994
-msgid "--track needs a branch name"
-msgstr "--track cần tên một nhánh"
+#: 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:1001
-msgid "Missing branch name; try -b"
-msgstr "Thiếu tên nhánh; hãy thử -b"
+#: builtin/checkout.c:1013 builtin/checkout.c:1015 builtin/clone.c:89
+#: builtin/remote.c:169 builtin/remote.c:171
+msgid "branch"
+msgstr "nhánh"
+
+#: builtin/checkout.c:1014
+msgid "create and checkout a new branch"
+msgstr "tạo và checkout một nhánh mới"
 
-#: builtin/checkout.c:1007
-msgid "--orphan and -b|-B are mutually exclusive"
-msgstr "Tùy chọn --orphan và -b|-B loại từ lẫn nhau"
+#: builtin/checkout.c:1016
+msgid "create/reset and checkout a branch"
+msgstr "create/reset và checkout một nhánh"
 
-#: builtin/checkout.c:1009
-msgid "--orphan cannot be used with -t"
-msgstr "--orphan không thể được sử dụng với tùy chọn -t"
+#: builtin/checkout.c:1017
+msgid "create reflog for new branch"
+msgstr "tạo reflog cho nhánh mới"
+
+#: builtin/checkout.c:1018
+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
-msgid "git checkout: -f and -m are incompatible"
-msgstr "git checkout: -f và -m xung khắc nhau"
+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
+msgid "new branch"
+msgstr "nhánh mới"
+
+#: builtin/checkout.c:1021
+msgid "new unparented branch"
+msgstr "nhánh mồ côi mới"
+
+#: builtin/checkout.c:1022
+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
+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
+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
+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
+msgid "update ignored files (default)"
+msgstr "cập nhật các tập tin bị bỏ qua (mặc định)"
 
-#: builtin/checkout.c:1053
+#: builtin/checkout.c:1029 builtin/log.c:1116 parse-options.h:241
+msgid "style"
+msgstr "kiểu"
+
+#: builtin/checkout.c:1030
+msgid "conflict style (merge or diff3)"
+msgstr "xung đột kiểu (hòa trộn hay diff3)"
+
+#: builtin/checkout.c:1033
+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
+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
+msgid "--track needs a branch name"
+msgstr "--track cần tên một nhánh"
+
+#: builtin/checkout.c:1081
+msgid "Missing branch name; try -b"
+msgstr "Thiếu tên nhánh; hãy thử -b"
+
+#: builtin/checkout.c:1116
 msgid "invalid path specification"
 msgstr "đường dẫn đã cho không hợp lệ"
 
-#: builtin/checkout.c:1061
+#: builtin/checkout.c:1123
 #, c-format
 msgid ""
-"git checkout: updating paths is incompatible with switching branches.\n"
+"Cannot update paths and switch to branch '%s' at the same time.\n"
 "Did you intend to checkout '%s' which can not be resolved as commit?"
 msgstr ""
-"git checkout: việc cập nhật các đường dẫn là xung khắc với việc chuyển đổi các nhánh..\n"
-"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)?"
+"Không thể cập nhật và chuyển thành nhánh “%s” cùng lúc\n"
+"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:1063
-msgid "git checkout: updating paths is incompatible with switching branches."
-msgstr "git checkout: việc cập nhật các đường dẫn là xung khắc với việc chuyển đổi các nhánh."
-
-#: builtin/checkout.c:1068
-msgid "git checkout: --detach does not take a path argument"
-msgstr "git checkout: --detach không nhận một đối số đường dẫn"
+#: builtin/checkout.c:1128
+#, 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:1071
+#: builtin/checkout.c:1132
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
 msgstr ""
 "git checkout: --ours/--theirs, --force và --merge là xung khắc với nhau khi\n"
-"checkout."
+"checkout bảng mục lục (index)."
 
-#: builtin/checkout.c:1090
-msgid "Cannot switch branch to a non-commit."
-msgstr "Không thể chuyển đến một non-commit."
+#: builtin/clean.c:19
+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/checkout.c:1093
-msgid "--ours/--theirs is incompatible with switching branches."
-msgstr "--ours/--theirs là xung khắc nhau khi chuyển đổi các nhánh."
+#: builtin/clean.c:51
+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:78
-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:53
+msgid "force"
+msgstr "ép buộc"
 
-#: builtin/clean.c:82
-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:55
+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
+msgid "pattern"
+msgstr "mẫu"
+
+#: builtin/clean.c:57
+msgid "add <pattern> to ignore rules"
+msgstr "thêm <mẫu> vào trong qui tắc bỏ qua"
+
+#: builtin/clean.c:58
+msgid "remove ignored files, too"
+msgstr "đồng thời gỡ bỏ cả các tập tin bị bỏ qua"
+
+#: builtin/clean.c:60
+msgid "remove only ignored files"
+msgstr "chỉ gỡ bỏ những tập tin bị bỏ qua"
+
+#: builtin/clean.c:78
+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
+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
-msgid "clean.requireForce defaults to true and neither -n nor -f given; refusing to clean"
-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)"
+msgid ""
+"clean.requireForce defaults to true and neither -n nor -f given; refusing to "
+"clean"
+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
+#: 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
+#: 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
+#: builtin/clean.c:162 builtin/clean.c:182
 #, c-format
 msgid "failed to remove %s"
 msgstr "gặp lỗi khi gỡ bỏ %s"
@@ -2003,26 +3040,113 @@ msgstr "Không thể gỡ bỏ %s\n"
 msgid "Not removing %s\n"
 msgstr "Không xóa %s\n"
 
+#: builtin/clone.c:36
+msgid "git clone [options] [--] <repo> [<dir>]"
+msgstr "git clone [các-tùy-chọn] [--] <kho> [<t.mục>]"
+
+#: builtin/clone.c:64 builtin/fetch.c:82 builtin/merge.c:212
+#: builtin/push.c:399
+msgid "force progress reporting"
+msgstr "ép buộc báo cáo tiến trình"
+
+#: builtin/clone.c:66
+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
+msgid "create a bare repository"
+msgstr "tạo kho chứa bare"
+
+#: builtin/clone.c:72
+msgid "create a mirror repository (implies bare)"
+msgstr "tạo kho bản sao (mirror) (ngụ ý là bare)"
+
+#: builtin/clone.c:74
+msgid "to clone from a local repository"
+msgstr "để nhân bản từ kho nội bộ"
+
+#: builtin/clone.c:76
+msgid "don't use local hardlinks, always copy"
+msgstr "không sử dụng liên kết cứng nội bộ, luôn sao chép"
+
+#: builtin/clone.c:78
+msgid "setup as shared repository"
+msgstr "cài đặt đây là kho chia sẻ"
+
+#: builtin/clone.c:80 builtin/clone.c:82
+msgid "initialize submodules in the clone"
+msgstr "khởi tạo mô-đun-con trong bản sao"
+
+#: builtin/clone.c:83 builtin/init-db.c:485
+msgid "template-directory"
+msgstr "thư-mục-tạm"
+
+#: builtin/clone.c:84 builtin/init-db.c:486
+msgid "directory from which templates will be used"
+msgstr "thư mục mà tại đó các mẫu sẽ được dùng"
+
+#: builtin/clone.c:86
+msgid "reference repository"
+msgstr "kho tham chiếu"
+
+#: builtin/clone.c:87 builtin/column.c:26 builtin/merge-file.c:44
+msgid "name"
+msgstr "tên"
+
+#: builtin/clone.c:88
+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
+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
+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
+msgid "depth"
+msgstr "độ sâu"
+
+#: builtin/clone.c:94
+msgid "create a shallow clone of that depth"
+msgstr "tạo bản sao không đầy đủ cho mức sâu đã cho"
+
+#: builtin/clone.c:96
+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
+msgid "gitdir"
+msgstr "gitdir"
+
+#: builtin/clone.c:98 builtin/init-db.c:495
+msgid "separate git dir from working tree"
+msgstr "không dùng chung thư mục dành riêng cho git và thư mục làm việc"
+
+#: builtin/clone.c:99
+msgid "key=value"
+msgstr "khóa=giá trị"
+
+#: builtin/clone.c:100
+msgid "set config inside the new repository"
+msgstr "đặt cấu hình bên trong một kho chứa mới"
+
 #: builtin/clone.c:243
 #, 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:302
-#, c-format
-msgid "failed to open '%s'"
-msgstr "gặp lỗi khi mở '%s'"
+msgstr "kho tham chiếu “%s” không phải là một thư mục nội bộ."
 
 #: builtin/clone.c:306
 #, 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:75
+#: builtin/clone.c:308 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'"
+msgstr "gặp lỗi stat (lấy trạng thái về) “%s”"
 
 #: builtin/clone.c:310
 #, c-format
@@ -2034,107 +3158,137 @@ msgstr "%s tồn tại nhưng không phải là một thư mục"
 msgid "failed to stat %s\n"
 msgstr "lỗi stat (lấy trạng thái về) %s\n"
 
-#: builtin/clone.c:341
-#, c-format
-msgid "failed to unlink '%s'"
-msgstr "bỏ liên kết (unlink) %s không thành công"
-
 #: builtin/clone.c:346
 #, c-format
 msgid "failed to create link '%s'"
-msgstr "tạo được liên kết mềm tới %s gặp lỗi"
+msgstr "gặp lỗi khi tạo được liên kết mềm %s"
 
 #: builtin/clone.c:350
 #, c-format
 msgid "failed to copy file to '%s'"
-msgstr "sao chép tệp tin tới '%s' gặp lỗi"
+msgstr "gặp lỗi khi chép tập tin tới “%s”"
 
 #: builtin/clone.c:373
 #, c-format
 msgid "done.\n"
 msgstr "hoàn tất.\n"
 
-#: builtin/clone.c:440
+#: builtin/clone.c:443
 #, 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:549
+#: builtin/clone.c:552
 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:639
+#: builtin/clone.c:690
 msgid "Too many arguments."
 msgstr "Có quá nhiều đối số."
 
-#: builtin/clone.c:643
+#: builtin/clone.c:694
 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:654
+#: builtin/clone.c:705
 #, 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:668
+#: builtin/clone.c:719
 #, c-format
 msgid "repository '%s' does not exist"
-msgstr "kho chứa '%s' chưa tồn tại"
+msgstr "kho chứa “%s” chưa tồn tại"
 
-#: builtin/clone.c:673
+#: builtin/clone.c:724
 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:683
+#: builtin/clone.c:734
 #, 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."
+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:693
+#: builtin/clone.c:744
 #, c-format
 msgid "working tree '%s' already exists."
-msgstr "cây làm việc '%s' đã sẵn tồn tại rồi."
+msgstr "cây làm việc “%s” đã sẵn tồn tại rồi."
 
-#: builtin/clone.c:706
-#: builtin/clone.c:720
+#: builtin/clone.c:757 builtin/clone.c:771
 #, 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'"
+msgstr "không thể tạo các thư mục dẫn đầu của “%s”"
 
-#: builtin/clone.c:709
+#: builtin/clone.c:760
 #, 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'."
+msgstr "không thể tạo cây thư mục làm việc dir “%s”."
 
-#: builtin/clone.c:728
+#: builtin/clone.c:779
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
-msgstr "Đang nhân bản thành kho chứa bare '%s'...\n"
+msgstr "Đang nhân bản thành kho chứa bare “%s”...\n"
 
-#: builtin/clone.c:730
+#: builtin/clone.c:781
 #, c-format
 msgid "Cloning into '%s'...\n"
-msgstr "Đang nhân bản thành '%s'...\n"
+msgstr "Đang nhân bản thành “%s”...\n"
 
-#: builtin/clone.c:786
+#: builtin/clone.c:823
 #, 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:835
+#: builtin/clone.c:872
 #, 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 dòng ngược (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:842
+#: builtin/clone.c:879
 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."
 
+#: builtin/column.c:9
+msgid "git column [options]"
+msgstr "git column [các-tùy-chọn]"
+
+#: builtin/column.c:26
+msgid "lookup config vars"
+msgstr "tìm kiếm biến cấu hình"
+
+#: builtin/column.c:27 builtin/column.c:28
+msgid "layout to use"
+msgstr "bố cục để dùng"
+
+#: builtin/column.c:29
+msgid "Maximum width"
+msgstr "Độ rộng tối đa"
+
+#: builtin/column.c:30
+msgid "Padding space on left border"
+msgstr "Chèn thêm khoảng trống vào bờ bên trái"
+
+#: builtin/column.c:31
+msgid "Padding space on right border"
+msgstr "Chèn thêm khoảng trắng vào tiếp giáp bên phải"
+
+#: builtin/column.c:32
+msgid "Padding space between columns"
+msgstr "Chèn thêm khoảng trắng giữa các cột"
+
 #: builtin/column.c:51
 msgid "--command must be the first argument"
 msgstr "--command phải là đối số đầu tiên"
 
-#: builtin/commit.c:43
+#: builtin/commit.c:34
+msgid "git commit [options] [--] <filepattern>..."
+msgstr "git commit [các-tùy-chọn] [--] <mẫu-tập-tin>..."
+
+#: builtin/commit.c:39
+msgid "git status [options] [--] <filepattern>..."
+msgstr "git status [các-tùy-chọn] [--] <mẫu-tập-tin>..."
+
+#: builtin/commit.c:44
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -2147,29 +3301,35 @@ msgid ""
 "\n"
 "    git commit --amend --reset-author\n"
 msgstr ""
-"Tên và địa chỉ thư điện tử của bạn được cấu hình một cách tự động trên cơ sở\n"
-"tài khoản và địa chỉ máy chủ của bạn. Xin hãy kiểm tra xem chúng có chính xác không.\n"
-"Bạn có thể chặn những thông báo kiểu này bằng cách cài đặt các thông tin trên một cách rõ ràng:\n"
+"Tên và địa chỉ thư điện tử của bạn được cấu hình một cách tự động trên cơ "
+"sở\n"
+"tài khoản và địa chỉ máy chủ của bạn. Xin hãy kiểm tra xem chúng có chính "
+"xác không.\n"
+"Bạn có thể chặn những thông báo kiểu này bằng cách cài đặt các thông tin "
+"trên một cách rõ ràng:\n"
 "\n"
 "    git config --global user.name \"Tên của bạn\"\n"
 "    git config --global user.email you@example.com\n"
 "\n"
-"Sau khi thực hiện xong, bạn có thể sửa chữa định danh được sử dụng cho lần chuyển giao (commit) này với lệnh:\n"
+"Sau khi thực hiện xong, bạn có thể sửa chữa định danh được sử dụng cho lần "
+"chuyển giao (commit) này với lệnh:\n"
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: builtin/commit.c:55
+#: builtin/commit.c:56
 msgid ""
 "You asked to amend the most recent commit, but doing so would make\n"
 "it empty. You can repeat your command with --allow-empty, or you can\n"
 "remove the commit entirely with \"git reset HEAD^\".\n"
 msgstr ""
-"Bạn đã yêu cầu amend (tu bổ) phần lớn các lần chuyển giao (commit) gần đây, nhưng làm như thế\n"
-"có thể làm cho nó trở nên trống rỗng. Bạn có thể lặp lại lệnh của mình bằng --allow-empty,\n"
+"Bạn đã yêu cầu amend (tu bổ) phần lớn các lần chuyển giao (commit) gần đây, "
+"nhưng làm như thế\n"
+"có thể làm cho nó trở nên trống rỗng. Bạn có thể lặp lại lệnh của mình bằng "
+"--allow-empty,\n"
 "hoặc là bạn gỡ bỏ các lần chuyển giao một cách hoàn toàn bằng lệnh:\n"
 "\"git reset HEAD^\".\n"
 
-#: builtin/commit.c:60
+#: builtin/commit.c:61
 msgid ""
 "The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
 "If you wish to commit it anyway, use:\n"
@@ -2178,106 +3338,105 @@ msgid ""
 "\n"
 "Otherwise, please use 'git reset'\n"
 msgstr ""
-"Lần cherry-pick trước hiện nay trống rỗng, có lẽ là bởi vì sự phân giải xung đột.\n"
+"Lần cherry-pick trước hiện nay trống rỗng, có lẽ là bởi vì sự phân giải xung "
+"đột.\n"
 "Nếu bạn muốn chuyển giao nó cho dù thế nào đi nữa, sử dụng:\n"
 "\n"
 "    git commit --allow-empty\n"
 "\n"
-"Nếu không, hãy thử sử dụng 'git reset'\n"
+"Nếu không, hãy thử dùng “git reset”\n"
 
-#: builtin/commit.c:253
+#: builtin/commit.c:258
 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:295
+#: builtin/commit.c:300
 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:301
+#: builtin/commit.c:306
 msgid "interactive add failed"
 msgstr "việc thêm tương tác gặp lỗi"
 
-#: builtin/commit.c:334
-#: builtin/commit.c:355
-#: builtin/commit.c:405
+#: builtin/commit.c:339 builtin/commit.c:360 builtin/commit.c:410
 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:386
+#: builtin/commit.c:391
 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."
+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:388
+#: builtin/commit.c:393
 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."
+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:398
+#: builtin/commit.c:403
 msgid "cannot read the index"
 msgstr "không đọc được bảng mục lục"
 
-#: builtin/commit.c:418
+#: builtin/commit.c:423
 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:493
-#: builtin/commit.c:499
+#: builtin/commit.c:511 builtin/commit.c:517
 #, c-format
 msgid "invalid commit: %s"
 msgstr "lần chuyển giao (commit) không hợp lệ: %s"
 
-#: builtin/commit.c:522
+#: builtin/commit.c:540
 msgid "malformed --author parameter"
 msgstr "đối số --author bị dị hình"
 
-#: builtin/commit.c:582
+#: builtin/commit.c:560
 #, c-format
 msgid "Malformed ident string: '%s'"
-msgstr "Chuỗi thụt lề đầu dòng dị hình: '%s'"
+msgstr "Chuỗi thụt lề đầu dòng dị hình: “%s”"
 
-#: builtin/commit.c:620
-#: builtin/commit.c:653
-#: builtin/commit.c:967
+#: builtin/commit.c:598 builtin/commit.c:631 builtin/commit.c:954
 #, 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:632
-#: builtin/shortlog.c:296
+#: builtin/commit.c:610 builtin/shortlog.c:296
 #, 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:634
+#: builtin/commit.c:612
 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:638
+#: builtin/commit.c:616
 #, c-format
 msgid "could not read log file '%s'"
-msgstr "không đọc được tệp nhật ký '%s'"
+msgstr "không đọc được tệp nhật ký “%s”"
 
-#: builtin/commit.c:644
+#: builtin/commit.c:622
 msgid "commit has empty message"
 msgstr "lần chuyển giao (commit) có ghi chú trống rỗng"
 
-#: builtin/commit.c:660
+#: builtin/commit.c:638
 msgid "could not read MERGE_MSG"
 msgstr "không thể đọc MERGE_MSG"
 
-#: builtin/commit.c:664
+#: builtin/commit.c:642
 msgid "could not read SQUASH_MSG"
 msgstr "không thể đọc SQUASH_MSG"
 
-#: builtin/commit.c:668
+#: builtin/commit.c:646
 #, c-format
 msgid "could not read '%s'"
-msgstr "Không thể đọc '%s'."
+msgstr "Không thể đọc “%s”."
 
-#: builtin/commit.c:720
+#: builtin/commit.c:707
 msgid "could not write commit template"
 msgstr "không thể ghi mẫu commit"
 
-#: builtin/commit.c:731
+#: builtin/commit.c:718
 #, c-format
 msgid ""
 "\n"
@@ -2292,7 +3451,7 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:736
+#: builtin/commit.c:723
 #, c-format
 msgid ""
 "\n"
@@ -2307,182 +3466,393 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:748
+#: builtin/commit.c:735
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
 "with '#' 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"
+"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"
 
-#: builtin/commit.c:753
+#: builtin/commit.c:740
 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"
 "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; bạn có thể xóa chúng đi nếu muốn.\n"
+"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"
 
-#: builtin/commit.c:766
+#: builtin/commit.c:753
 #, c-format
 msgid "%sAuthor:    %s"
 msgstr "%sTác giả:    %s"
 
-#: builtin/commit.c:773
+#: builtin/commit.c:760
 #, c-format
 msgid "%sCommitter: %s"
 msgstr "%sNgười chuyển giao (commit): %s"
 
-#: builtin/commit.c:793
+#: builtin/commit.c:780
 msgid "Cannot read index"
 msgstr "không đọc được bảng mục lục"
 
-#: builtin/commit.c:830
+#: builtin/commit.c:817
 msgid "Error building trees"
 msgstr "Gặp lỗi khi xây dựng cây"
 
-#: builtin/commit.c:845
-#: builtin/tag.c:361
+#: builtin/commit.c:832 builtin/tag.c:361
 #, 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:942
+#: builtin/commit.c:929
 #, c-format
 msgid "No existing author found with '%s'"
-msgstr "Không tìm thấy tác giả đã sẵn có với '%s'"
+msgstr "Không tìm thấy tác giả có sẵn với “%s”"
 
-#: builtin/commit.c:957
-#: builtin/commit.c:1157
+#: builtin/commit.c:944 builtin/commit.c:1148
 #, 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'"
+msgstr "Chế độ cho các tập tin không bị theo vết không hợp lệ “%s”"
 
-#: builtin/commit.c:997
+#: builtin/commit.c:984
 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:1008
+#: builtin/commit.c:995
 msgid "You have nothing to amend."
 msgstr "Không có gì để amend (tu bổ) cả."
 
-#: builtin/commit.c:1011
+#: builtin/commit.c:998
 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ổ)."
+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:1013
+#: builtin/commit.c:1000
 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ổ)."
+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:1016
+#: builtin/commit.c:1003
 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:1026
+#: builtin/commit.c:1013
 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:1028
+#: builtin/commit.c:1015
 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:1036
+#: builtin/commit.c:1023
 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."
+msgstr ""
+"--reset-author chỉ có thể được sử dụng với tùy chọn -C, -c hay --amend."
 
-#: builtin/commit.c:1053
+#: builtin/commit.c:1040
 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."
+msgstr ""
+"Chỉ một trong các tùy chọn --include/--only/--all/--interactive/--patch được "
+"sử dụng."
 
-#: builtin/commit.c:1055
+#: builtin/commit.c:1042
 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:1057
+#: builtin/commit.c:1044
 msgid "Clever... amending the last one with dirty index."
-msgstr "Giỏi... đang tu bổ cái cuối với bảng mục lục phi nghĩa."
+msgstr "Giỏi...  tu bổ cái cuối với bảng mục lục phi nghĩa."
 
-#: builtin/commit.c:1059
+#: builtin/commit.c:1046
 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..."
+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:1069
-#: builtin/tag.c:577
+#: builtin/commit.c:1056 builtin/tag.c:577
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Chế độ dọn dẹp không hợp lệ %s"
 
-#: builtin/commit.c:1074
+#: builtin/commit.c:1061
 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:1257
+#: builtin/commit.c:1067 builtin/commit.c:1202
+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
+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
+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
+msgid "machine-readable output"
+msgstr "kết xuất dạng máy-có-thể-đọc"
+
+#: builtin/commit.c:1169 builtin/commit.c:1404
+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
+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
+msgid "mode"
+msgstr "chế độ"
+
+#: builtin/commit.c:1175 builtin/commit.c:1410
+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
+msgid "show ignored files"
+msgstr "hiển thị các tập tin ẩn"
+
+#: builtin/commit.c:1179 parse-options.h:151
+msgid "when"
+msgstr "khi"
+
+#: builtin/commit.c:1180
+msgid ""
+"ignore changes to submodules, optional when: all, dirty, untracked. "
+"(Default: all)"
+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
+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
 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:1259
+#: builtin/commit.c:1258
 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"
+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:1300
+#: builtin/commit.c:1299
 msgid "detached HEAD"
 msgstr "đã rời khỏi HEAD"
 
-#: builtin/commit.c:1302
+#: builtin/commit.c:1301
 msgid " (root-commit)"
 msgstr " (root-commit)"
 
-#: builtin/commit.c:1446
+#: builtin/commit.c:1368
+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
+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
+msgid "Commit message options"
+msgstr "Các tùy chọn ghi chú commit"
+
+#: builtin/commit.c:1372 builtin/tag.c:459
+msgid "read message from file"
+msgstr "đọc chú thích từ tập tin"
+
+#: builtin/commit.c:1373
+msgid "author"
+msgstr "tác giả"
+
+#: builtin/commit.c:1373
+msgid "override author for commit"
+msgstr "ghi đè tác giả cho commit"
+
+#: builtin/commit.c:1374 builtin/gc.c:178
+msgid "date"
+msgstr "ngày tháng"
+
+#: builtin/commit.c:1374
+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
+msgid "message"
+msgstr "thông điệp"
+
+#: builtin/commit.c:1375
+msgid "commit message"
+msgstr "chú thích của lần commit"
+
+#: builtin/commit.c:1376
+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
+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
+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
+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
+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
+msgid "add Signed-off-by:"
+msgstr "thêm dòng Signed-off-by:"
+
+#: builtin/commit.c:1382
+msgid "use specified template file"
+msgstr "sử dụng tập tin mẫu đã cho"
+
+#: builtin/commit.c:1383
+msgid "force edit of commit"
+msgstr "ép buộc sửa lần commit"
+
+#: builtin/commit.c:1384
+msgid "default"
+msgstr "mặc định"
+
+#: builtin/commit.c:1384 builtin/tag.c:462
+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
+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
+msgid "key id"
+msgstr "id khóa"
+
+#: builtin/commit.c:1387 builtin/merge.c:214
+msgid "GPG sign commit"
+msgstr "ký lần commit dùng GPG"
+
+#. end commit message options
+#: builtin/commit.c:1390
+msgid "Commit contents options"
+msgstr "Các tùy nội dung ghi chú commit"
+
+#: builtin/commit.c:1391
+msgid "commit all changed files"
+msgstr "chuyển giao tất cả các tập tin có thay đổi"
+
+#: builtin/commit.c:1392
+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
+msgid "interactively add files"
+msgstr "thêm các tập-tin bằng tương tác"
+
+#: builtin/commit.c:1394
+msgid "interactively add changes"
+msgstr "thêm các thay đổi bằng tương tác"
+
+#: builtin/commit.c:1395
+msgid "commit only specified files"
+msgstr "chỉ chuyển giao các tập tin đã chỉ ra"
+
+#: builtin/commit.c:1396
+msgid "bypass pre-commit hook"
+msgstr "vòng qua móc (hook) pre-commit"
+
+#: builtin/commit.c:1397
+msgid "show what would be committed"
+msgstr "hiển thị xem cái gì có thể được chuyển giao"
+
+#: builtin/commit.c:1408
+msgid "amend previous commit"
+msgstr "tu bổ (amend) lần commit trước"
+
+#: builtin/commit.c:1409
+msgid "bypass post-rewrite hook"
+msgstr "vòng qua móc (hook) post-rewrite"
+
+#: builtin/commit.c:1414
+msgid "ok to record an empty change"
+msgstr "ok để ghi lại một thay đổi trống rỗng"
+
+#: builtin/commit.c:1417
+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
 msgid "could not parse HEAD commit"
 msgstr "không thể phân tích commit (lần chuyển giao) HEAD"
 
-#: builtin/commit.c:1484
-#: builtin/merge.c:509
+#: builtin/commit.c:1487 builtin/merge.c:508
 #, c-format
 msgid "could not open '%s' for reading"
-msgstr "không thể mở %s' để đọc"
+msgstr "không thể mở “%s” để đọc"
 
-#: builtin/commit.c:1491
+#: builtin/commit.c:1494
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Tập tin MERGE_HEAD sai hỏng (%s)"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1501
 msgid "could not read MERGE_MODE"
 msgstr "không thể đọc MERGE_MODE"
 
-#: builtin/commit.c:1517
+#: builtin/commit.c:1520
 #, 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:1531
+#: builtin/commit.c:1534
 #, 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"
+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:1536
+#: builtin/commit.c:1539
 #, 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"
+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:1551
-#: builtin/merge.c:936
-#: builtin/merge.c:961
+#: builtin/commit.c:1554 builtin/merge.c:832 builtin/merge.c:857
 msgid "failed to write commit object"
 msgstr "gặp lỗi khi ghi đối tượng chuyển giao (commit)"
 
-#: builtin/commit.c:1572
+#: builtin/commit.c:1575
 msgid "cannot lock HEAD ref"
 msgstr "không thể khóa HEAD ref (tham chiếu)"
 
-#: builtin/commit.c:1576
+#: builtin/commit.c:1579
 msgid "cannot update HEAD ref"
-msgstr "không thể cập nhật HEAD ref (tham chiếu)"
+msgstr "không thể cập nhật ref (tham chiếu) HEAD"
 
-#: builtin/commit.c:1587
+#: builtin/commit.c:1590
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full or quota is\n"
@@ -2490,7 +3860,136 @@ msgid ""
 msgstr ""
 "Kho chứa đã hoàn tất việc cập nhật, nhưng không thể ghi vào\n"
 "tập tin new_index (bảng mục lục mới). Hãy kiểm tra xem đĩa có bị đầy quá\n"
-"hay quota (hạn nghạch đĩa cứng) bị vượt quá, và sau đó \"git reset HEAD\" để khắc phục."
+"hay quota (hạn nghạch đĩa cứng) bị vượt quá, và sau đó \"git reset HEAD\" để "
+"khắc phục."
+
+#: builtin/config.c:7
+msgid "git config [options]"
+msgstr "git config [các-tùy-chọn]"
+
+#: builtin/config.c:51
+msgid "Config file location"
+msgstr "Vị trí tập tin cấu hình"
+
+#: builtin/config.c:52
+msgid "use global config file"
+msgstr "đặt tập tin cấu hình cần toàn cục"
+
+#: builtin/config.c:53
+msgid "use system config file"
+msgstr "sử dụng tập tin cấu hình hệ thống"
+
+#: builtin/config.c:54
+msgid "use repository config file"
+msgstr "dùng tập tin cấu hình của kho"
+
+#: builtin/config.c:55
+msgid "use given config file"
+msgstr "sử dụng tập tin cấu hình đã cho"
+
+#: builtin/config.c:56
+msgid "Action"
+msgstr "Hành động"
+
+#: builtin/config.c:57
+msgid "get value: name [value-regex]"
+msgstr "lấy giá-trị: tên [value-regex]"
+
+#: builtin/config.c:58
+msgid "get all values: key [value-regex]"
+msgstr "lấy tất cả giá-trị: khóa [value-regex]"
+
+#: builtin/config.c:59
+msgid "get values for regexp: name-regex [value-regex]"
+msgstr "lấy giá trị cho regexp: name-regex [value-regex]"
+
+#: builtin/config.c:60
+msgid "replace all matching variables: name value [value_regex]"
+msgstr "thay thế tất cả các biến khớp mẫu: tên giá-trị [value_regex]"
+
+#: builtin/config.c:61
+msgid "add a new variable: name value"
+msgstr "thêm biến mới: tên giá-trị"
+
+#: builtin/config.c:62
+msgid "remove a variable: name [value-regex]"
+msgstr "gỡ bỏ biến: tên [value-regex]"
+
+#: builtin/config.c:63
+msgid "remove all matches: name [value-regex]"
+msgstr "gỡ bỏ mọi cái khớp: tên [value-regex]"
+
+#: builtin/config.c:64
+msgid "rename section: old-name new-name"
+msgstr "đổi tên chương: tên-cũ tên-mới"
+
+#: builtin/config.c:65
+msgid "remove a section: name"
+msgstr "gỡ bỏ chương: tên"
+
+#: builtin/config.c:66
+msgid "list all"
+msgstr "liệt kê tất"
+
+#: builtin/config.c:67
+msgid "open an editor"
+msgstr "mở một trình biên soạn"
+
+#: builtin/config.c:68 builtin/config.c:69
+msgid "slot"
+msgstr "khe"
+
+#: builtin/config.c:68
+msgid "find the color configured: [default]"
+msgstr "tìm cấu hình màu sắc: [mặc định]"
+
+#: builtin/config.c:69
+msgid "find the color setting: [stdout-is-tty]"
+msgstr "tìm các cài đặt về màu sắc: [stdout-là-tty]"
+
+#: builtin/config.c:70
+msgid "Type"
+msgstr "Kiểu"
+
+#: builtin/config.c:71
+msgid "value is \"true\" or \"false\""
+msgstr "giá trị là \"true\" hoặc \"false\""
+
+#: builtin/config.c:72
+msgid "value is decimal number"
+msgstr "giá trị ở dạng số thập phân"
+
+#: builtin/config.c:73
+msgid "value is --bool or --int"
+msgstr "giá trị là --bool hoặc --int"
+
+#: builtin/config.c:74
+msgid "value is a path (file or directory name)"
+msgstr "giá trị là đường dẫn (tên tập tin hay thư mục)"
+
+#: builtin/config.c:75
+msgid "Other"
+msgstr "Khác"
+
+#: builtin/config.c:76
+msgid "terminate values with NUL byte"
+msgstr "chấm dứt giá trị với byte NUL"
+
+#: builtin/config.c:77
+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
+msgid "git count-objects [-v]"
+msgstr "git count-objects [-v]"
+
+#: builtin/describe.c:15
+msgid "git describe [options] <committish>*"
+msgstr "git describe [các-tùy-chọn] <committish>*"
+
+#: builtin/describe.c:16
+msgid "git describe [options] --dirty"
+msgstr "git describe [các-tùy-chọn] --dirty"
 
 #: builtin/describe.c:234
 #, c-format
@@ -2505,7 +4004,7 @@ msgstr "thẻ được chú giải %s không có tên nhúng"
 #: builtin/describe.c:240
 #, c-format
 msgid "tag '%s' is really '%s' here"
-msgstr "thẻ '%s' đã thực sự ở đây '%s' rồi"
+msgstr "thẻ “%s” đã thực sự ở đây “%s” rồi"
 
 #: builtin/describe.c:267
 #, c-format
@@ -2515,12 +4014,12 @@ msgstr "Không phải tên đối tượng %s hợp lệ"
 #: builtin/describe.c:270
 #, 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ệ"
+msgstr "%s không phải là một đối tượng “%s” hợp lệ"
 
 #: builtin/describe.c:287
 #, c-format
 msgid "no tag exactly matches '%s'"
-msgstr "không có thẻ nào khớp chính xác với '%s'"
+msgstr "không có thẻ nào khớp chính xác với “%s”"
 
 #: builtin/describe.c:289
 #, c-format
@@ -2538,7 +4037,7 @@ msgid ""
 "No annotated tags can describe '%s'.\n"
 "However, there were unannotated tags: try --tags."
 msgstr ""
-"Không có thẻ được chú giải nào được mô tả là '%s'.\n"
+"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
@@ -2547,7 +4046,7 @@ msgid ""
 "No tags can describe '%s'.\n"
 "Try --always, or create some tags."
 msgstr ""
-"Không có thẻ (tag) có thể mô tả '%s'.\n"
+"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
@@ -2564,6 +4063,50 @@ 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
+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
+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:405
+msgid "use any ref in .git/refs"
+msgstr "sử dụng bất kỳ ref nào trong .git/refs"
+
+#: 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
+msgid "only output exact matches"
+msgstr "chỉ xuất những gì khớp chính xác"
+
+#: builtin/describe.c:412
+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
+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
+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
+msgid "mark"
+msgstr "dấu"
+
+#: builtin/describe.c:418
+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
 msgid "--long is incompatible with --abbrev=0"
 msgstr "--long là xung khắc với tùy chọn --abbrev=0"
@@ -2576,45 +4119,167 @@ msgstr "Không tìm thấy các tên, không thể mô tả gì cả."
 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)"
 
-#: builtin/diff.c:77
+#: builtin/diff.c:79
 #, c-format
 msgid "'%s': not a regular file or symlink"
-msgstr "'%s': không phải tập tin bình thường hay liên kết tượng trưng"
+msgstr "“%s”: không phải tập tin bình thường hay liên kết tượng trưng"
 
-#: builtin/diff.c:220
+#: builtin/diff.c:228
 #, c-format
 msgid "invalid option: %s"
 msgstr "tùy chọn sai: %s"
 
-#: builtin/diff.c:297
+#: builtin/diff.c:305
 msgid "Not a git repository"
 msgstr "Không phải là kho git"
 
-#: builtin/diff.c:347
+#: builtin/diff.c:348
 #, c-format
 msgid "invalid object '%s' given."
-msgstr "đối tượng đã cho '%s' không hợp lệ."
+msgstr "đối tượng đã cho “%s” không hợp lệ."
 
-#: builtin/diff.c:352
+#: builtin/diff.c:353
 #, c-format
 msgid "more than %d trees given: '%s'"
-msgstr "đã chỉ ra nhiều hơn %d cây (tree): '%s'"
+msgstr "đã chỉ ra nhiều hơn %d cây (tree): “%s”"
 
-#: builtin/diff.c:362
+#: builtin/diff.c:363
 #, c-format
 msgid "more than two blobs given: '%s'"
-msgstr "đã cho nhiều hơn hai đối tượng blob: '%s'"
+msgstr "đã cho nhiều hơn hai đối tượng blob: “%s”"
 
-#: builtin/diff.c:370
+#: builtin/diff.c:371
 #, c-format
 msgid "unhandled object '%s' given."
-msgstr "đã cho đối tượng không thể nắm giữ '%s'."
+msgstr "đã cho đối tượng không thể nắm giữ “%s”."
+
+#: builtin/fast-export.c:22
+msgid "git fast-export [rev-list-opts]"
+msgstr "git fast-export [rev-list-opts]"
+
+#: builtin/fast-export.c:635
+msgid "show progress after <n> objects"
+msgstr "hiển thị tiến triển sau <n> đối tượng"
+
+#: builtin/fast-export.c:637
+msgid "select handling of signed tags"
+msgstr "chọn điều khiển của thẻ đã ký"
+
+#: builtin/fast-export.c:640
+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
+msgid "Dump marks to this file"
+msgstr "Đổ các đánh dấu này vào tập-tin"
+
+#: builtin/fast-export.c:645
+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
+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
+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
+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
+msgid "Skip output of blob data"
+msgstr "Bỏ qua kết xuất của dữ liệu blob"
+
+#: builtin/fetch.c:20
+msgid "git fetch [<options>] [<repository> [<refspec>...]]"
+msgstr "git fetch [<các-tùy-chọn>] [<kho-chứa> [<refspec>...]]"
+
+#: builtin/fetch.c:21
+msgid "git fetch [<options>] <group>"
+msgstr "git fetch [<các-tùy-chọn>] [<nhóm>"
+
+#: builtin/fetch.c:22
+msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
+msgstr "git fetch --multiple [<các-tùy-chọn>] [(<kho> | <nhóm>)...]"
+
+#: builtin/fetch.c:23
+msgid "git fetch --all [<options>]"
+msgstr "git fetch --all [<các-tùy-chọn>]"
+
+#: builtin/fetch.c:60
+msgid "fetch from all remotes"
+msgstr "fetch từ tất cả các máy chủ"
+
+#: builtin/fetch.c:62
+msgid "append to .git/FETCH_HEAD instead of overwriting"
+msgstr "nối thêm vào .git/FETCH_HEAD thay vì ghi đè lên nó"
+
+#: builtin/fetch.c:64
+msgid "path to upload pack on remote end"
+msgstr "đường dẫn đến gói (pack) tải lên trên máy chủ cuối"
+
+#: builtin/fetch.c:65
+msgid "force overwrite of local branch"
+msgstr "ép buộc ghi đè lên nhánh nội bộ"
+
+#: builtin/fetch.c:67
+msgid "fetch from multiple remotes"
+msgstr "fetch từ nhiều máy chủ cùng lúc"
+
+#: builtin/fetch.c:69
+msgid "fetch all tags and associated objects"
+msgstr "lấy (fetch) tất cả các thẻ cùng với các đối tượng liên quan đến nó"
+
+#: builtin/fetch.c:71
+msgid "do not fetch all tags (--no-tags)"
+msgstr "không lấy (fetch) tất cả các thẻ (--no-tags)"
+
+#: builtin/fetch.c:73
+msgid "prune remote-tracking branches no longer on remote"
+msgstr ""
+"cắt cụt (prune) các nhánh “remote-tracking” không còn tồn tại trên máy chủ "
+"nữa"
+
+#: builtin/fetch.c:74
+msgid "on-demand"
+msgstr "khi-cần"
 
-#: builtin/fetch.c:200
+#: builtin/fetch.c:75
+msgid "control recursive fetching of submodules"
+msgstr "điều khiển việc lấy về (fetch) đệ quy trong các mô-đun-con"
+
+#: builtin/fetch.c:79
+msgid "keep downloaded pack"
+msgstr "giữ các gói đã tải về"
+
+#: builtin/fetch.c:81
+msgid "allow updating of HEAD ref"
+msgstr "cho phép cập nhật ref (tham chiếu) HEAD"
+
+#: builtin/fetch.c:84
+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
+msgid "dir"
+msgstr "tmục"
+
+#: builtin/fetch.c:86
+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
+msgid "default mode for recursion"
+msgstr "chế độ mặc định cho đệ qui"
+
+#: builtin/fetch.c:201
 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:253
+#: builtin/fetch.c:254
 #, c-format
 msgid "object %s not found"
 msgstr "Không tìm thấy đối tượng %s"
@@ -2626,10 +4291,9 @@ msgstr "[đã cập nhật]"
 #: builtin/fetch.c:273
 #, c-format
 msgid "! %-*s %-*s -> %s  (can't fetch in current branch)"
-msgstr "! %-*s %-*s -> %s  (không thể fetch (lấy về) trong nhánh hiện hành)"
+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:274 builtin/fetch.c:360
 msgid "[rejected]"
 msgstr "[Bị từ chối]"
 
@@ -2637,9 +4301,7 @@ msgstr "[Bị từ chối]"
 msgid "[tag update]"
 msgstr "[cập nhật thẻ]"
 
-#: builtin/fetch.c:287
-#: builtin/fetch.c:322
-#: builtin/fetch.c:340
+#: builtin/fetch.c:287 builtin/fetch.c:322 builtin/fetch.c:340
 msgid "  (unable to update local ref)"
 msgstr "  (không thể cập nhật tham chiếu (ref) nội bộ)"
 
@@ -2667,8 +4329,7 @@ msgstr "cưỡng bức cập nhật"
 msgid "(non-fast-forward)"
 msgstr "(non-fast-forward)"
 
-#: builtin/fetch.c:393
-#: builtin/fetch.c:685
+#: builtin/fetch.c:393 builtin/fetch.c:685
 #, c-format
 msgid "cannot open %s: %s\n"
 msgstr "không thể mở %s: %s\n"
@@ -2690,31 +4351,32 @@ msgid ""
 " 'git remote prune %s' to remove any old, conflicting branches"
 msgstr ""
 "một số tham chiếu (refs) nội bộ không thể được cập nhật; hãy thử chạy\n"
-" 'git remote prune %s' để bỏ đi những nhánh cũ, hay bị xung đột"
+" “git remote prune %s” để bỏ đi những nhánh cũ, hay bị xung đột"
 
 #: builtin/fetch.c:549
 #, c-format
 msgid "   (%s will become dangling)"
-msgstr "   (%s sẽ trở thành lủng lẳng (không được quản lý))"
+msgstr "   (%s sẽ trở thành không đầu (không được quản lý))"
 
 #: builtin/fetch.c:550
 #, c-format
 msgid "   (%s has become dangling)"
-msgstr "   (%s phải trở thành lủng lẳng (không được quản lý))"
+msgstr "   (%s đã trở thành không đầu (không được quản lý))"
 
 #: builtin/fetch.c:557
 msgid "[deleted]"
 msgstr "[đã xóa]"
 
-#: builtin/fetch.c:558
-#: builtin/remote.c:1055
+#: builtin/fetch.c:558 builtin/remote.c:1055
 msgid "(none)"
 msgstr "(không)"
 
 #: builtin/fetch.c:675
 #, 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)"
+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
 #, c-format
@@ -2731,18 +4393,17 @@ msgstr "Tùy chọn \"%s\" có giá trị \"%s\" là không hợp lệ cho %s"
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "Tùy chọn \"%s\" bị bỏ qua với %s\n"
 
-#: builtin/fetch.c:888
+#: builtin/fetch.c:891
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Đang lấy (fetch) %s\n"
 
-#: builtin/fetch.c:890
-#: builtin/remote.c:100
+#: builtin/fetch.c:893 builtin/remote.c:100
 #, c-format
 msgid "Could not fetch %s"
 msgstr "không thể fetch (lấy) %s"
 
-#: builtin/fetch.c:907
+#: builtin/fetch.c:912
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -2750,424 +4411,817 @@ 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:927
+#: builtin/fetch.c:932
 msgid "You need to specify a tag name."
 msgstr "Bạn phải định rõ tên thẻ."
 
-#: builtin/fetch.c:979
+#: builtin/fetch.c:984
 msgid "fetch --all does not take a repository argument"
-msgstr "lệnh lấy về sử dụng tùy chọn --all sẽ không lấy đối số kho chứa"
+msgstr "lệnh lấy về \"fetch --all\" không lấy đối số kho chứa"
 
-#: builtin/fetch.c:981
+#: builtin/fetch.c:986
 msgid "fetch --all does not make sense with refspecs"
-msgstr "lệnh lấy về fetch sử dụng tùy chọn --all không hợp lý với refspecs"
+msgstr "lệnh lấy về \"fetch --all\" không hợp lý với refspecs"
 
-#: builtin/fetch.c:992
+#: builtin/fetch.c:997
 #, 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:1000
+#: builtin/fetch.c:1005
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "Việc lấy về cả một nhóm và chỉ định refspecs không hợp lý"
 
+#: builtin/fmt-merge-msg.c:13
+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/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
+msgid "n"
+msgstr "n"
+
+#: builtin/fmt-merge-msg.c:654
+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
+msgid "alias for --log (deprecated)"
+msgstr "bí danh cho --log (không được dùng)"
+
+#: builtin/fmt-merge-msg.c:660
+msgid "text"
+msgstr "văn bản"
+
+#: builtin/fmt-merge-msg.c:661
+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
+msgid "file to read from"
+msgstr "tập tin để đọc dữ liệu từ đó"
+
+#: builtin/for-each-ref.c:979
+msgid "git for-each-ref [options] [<pattern>]"
+msgstr "git for-each-ref [các-tùy-chọn] [<mẫu>]"
+
+#: builtin/for-each-ref.c:994
+msgid "quote placeholders suitably for shells"
+msgstr "trích dẫn để phù hợp cho hệ vỏ (shell)"
+
+#: builtin/for-each-ref.c:996
+msgid "quote placeholders suitably for perl"
+msgstr "trích dẫn để phù hợp cho perl"
+
+#: builtin/for-each-ref.c:998
+msgid "quote placeholders suitably for python"
+msgstr "trích dẫn để phù hợp cho python"
+
+#: builtin/for-each-ref.c:1000
+msgid "quote placeholders suitably for tcl"
+msgstr "trích dẫn để phù hợp cho tcl"
+
+#: builtin/for-each-ref.c:1003
+msgid "show only <n> matched refs"
+msgstr "hiển thị chỉ <n> tham chiếu khớp"
+
+#: builtin/for-each-ref.c:1004
+msgid "format"
+msgstr "định dạng"
+
+#: builtin/for-each-ref.c:1004
+msgid "format to use for the output"
+msgstr "định dạng sẽ dùng cho đầu ra"
+
+#: builtin/for-each-ref.c:1005
+msgid "key"
+msgstr "khóa"
+
+#: builtin/for-each-ref.c:1006
+msgid "field name to sort on"
+msgstr "tên trường cần sắp xếp"
+
+#: builtin/fsck.c:608
+msgid "git fsck [options] [<object>...]"
+msgstr "git fsck [các-tùy-chọn] [<đối-tượng>...]"
+
+#: builtin/fsck.c:614
+msgid "show unreachable objects"
+msgstr "hiển thị các đối tượng không thể đọc được"
+
+#: builtin/fsck.c:615
+msgid "show dangling objects"
+msgstr "hiển thị các đối tượng không được quản lý"
+
+#: builtin/fsck.c:616
+msgid "report tags"
+msgstr "báo cáo các thẻ"
+
+#: builtin/fsck.c:617
+msgid "report root nodes"
+msgstr "báo cáo node gốc"
+
+#: builtin/fsck.c:618
+msgid "make index objects head nodes"
+msgstr "tạo “ index objects head nodes”"
+
+#: builtin/fsck.c:619
+msgid "make reflogs head nodes (default)"
+msgstr "tạo  reflogs head nodes (mặc định)"
+
+#: builtin/fsck.c:620
+msgid "also consider packs and alternate objects"
+msgstr "cũng cân nhắc đến các đối tượng gói và thay thế"
+
+#: builtin/fsck.c:621
+msgid "enable more strict checking"
+msgstr "cho phép kiểm tra hạn chế hơn"
+
+#: builtin/fsck.c:623
+msgid "write dangling objects in .git/lost-found"
+msgstr "ghi các đối tượng không được quản lý trong .git/lost-found"
+
+#: builtin/fsck.c:624 builtin/prune.c:134
+msgid "show progress"
+msgstr "hiển thị quá trình"
+
+#: builtin/gc.c:22
+msgid "git gc [options]"
+msgstr "git gc [các-tùy-chọn]"
+
 #: builtin/gc.c:63
 #, c-format
 msgid "Invalid %s: '%s'"
-msgstr "%s không hợp lệ: '%s'"
+msgstr "%s không hợp lệ: “%s”"
 
 #: builtin/gc.c:90
 #, c-format
 msgid "insanely long object directory %.*s"
 msgstr "thư mục đối tượng dài một cách điên rồ  %.*s"
 
-#: builtin/gc.c:221
-#, c-format
-msgid "Auto packing the repository for optimum performance.\n"
-msgstr "Tự động đóng gói kho chứa để tối ưu hóa hiệu suất làm việc.\n"
+#: builtin/gc.c:179
+msgid "prune unreferenced objects"
+msgstr "xóa bỏ các đối tượng không được tham chiếu"
+
+#: builtin/gc.c:181
+msgid "be more thorough (increased runtime)"
+msgstr "cẩn thận hơn nữa (tăng thời gian chạy)"
 
-#: builtin/gc.c:224
+#: builtin/gc.c:182
+msgid "enable auto-gc mode"
+msgstr "bật chế độ auto-gc"
+
+#: builtin/gc.c:222
 #, c-format
 msgid ""
 "Auto packing the repository for optimum performance. You may also\n"
 "run \"git gc\" manually. See \"git help gc\" for more information.\n"
 msgstr ""
 "Tự động đóng gói kho chứa để tối ưu hóa hiệu suất làm việc.\n"
-"chạy lệnh \"git gc\" một cách thủ công. Hãy xem \"git help gc\" để biết thêm chi tiết.\n"
+"chạy lệnh \"git gc\" một cách thủ công. Hãy xem \"git help gc\" để biết thêm "
+"chi tiết.\n"
+
+#: builtin/gc.c:249
+msgid ""
+"There are too many unreachable loose objects; run 'git prune' to remove them."
+msgstr ""
+"Có quá nhiều đối tượng tự do không được dùng đến; hãy chạy lệnh “git prune” "
+"để xóa bỏ chúng đi."
 
-#: builtin/gc.c:251
-msgid "There are too many unreachable loose objects; run 'git prune' to remove them."
-msgstr "Có quá nhiều đối tượng tự do không được dùng đến; hãy chạy lệnh 'git prune' để xóa bỏ chúng đi."
+#: builtin/grep.c:22
+msgid "git grep [options] [-e] <pattern> [<rev>...] [[--] <path>...]"
+msgstr "git grep [các-tùy-chọn] [-e] <mẫu> [<rev>...] [[--] <đường-dẫn>...]"
 
-#: builtin/grep.c:216
+#: builtin/grep.c:217
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep: gặp lỗi tạo tuyến (thread): %s"
 
-#: builtin/grep.c:402
+#: builtin/grep.c:365
 #, c-format
 msgid "Failed to chdir: %s"
 msgstr "Gặp lỗi với lệnh chdir: %s"
 
-#: builtin/grep.c:478
-#: builtin/grep.c:512
+#: builtin/grep.c:443 builtin/grep.c:478
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "không thể đọc cây (%s)"
 
-#: builtin/grep.c:526
+#: builtin/grep.c:493
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "không thể thực hiện lệnh grep (lọc tìm) từ đối tượng thuộc kiểu %s"
 
-#: builtin/grep.c:584
+#: builtin/grep.c:551
 #, c-format
 msgid "switch `%c' expects a numerical value"
-msgstr "chuyển đến `%c' mong chờ một giá trị bằng số"
+msgstr "chuyển đến `%c' cần một giá trị bằng số"
 
-#: builtin/grep.c:601
+#: builtin/grep.c:568
 #, c-format
 msgid "cannot open '%s'"
-msgstr "không mở được '%s'"
+msgstr "không mở được “%s”"
 
-#: builtin/grep.c:885
-msgid "no pattern given."
-msgstr "chưa chỉ ra mẫu."
+#: builtin/grep.c:643
+msgid "search in index instead of in the work tree"
+msgstr "tìm trong bảng mục lục thay vì trong cây làm việc"
 
-#: builtin/grep.c:899
-#, c-format
-msgid "bad object %s"
-msgstr "đối tượng sai %s"
+#: builtin/grep.c:645
+msgid "find in contents not managed by git"
+msgstr "tìm trong nội dung không được quản lý bởi git"
 
-#: builtin/grep.c:940
-msgid "--open-files-in-pager only works on the worktree"
-msgstr "--open-files-in-pager chỉ làm việc trên cây-làm-việc"
+#: builtin/grep.c:647
+msgid "search in both tracked and untracked files"
+msgstr "tìm kiếm các tập tin được và chưa được theo dõi dấu vết"
 
-#: builtin/grep.c:963
-msgid "--cached or --untracked cannot be used with --no-index."
-msgstr "--cached hay --untracked không được sử dụng với --no-index."
+#: builtin/grep.c:649
+msgid "search also in ignored files"
+msgstr "tìm cả trong các tập tin đã bị lờ đi"
 
-#: builtin/grep.c:968
-msgid "--no-index or --untracked cannot be used with revs."
-msgstr "--no-index hay --untracked không được sử dụng cùng với các tùy chọn liên quan đến revs."
+#: builtin/grep.c:652
+msgid "show non-matching lines"
+msgstr "hiển thị  những dòng không khớp với mẫu"
 
-#: builtin/grep.c:971
-msgid "--[no-]exclude-standard cannot be used for tracked contents."
-msgstr "--[no-]exclude-standard không thể sử dụng cho nội dung lưu dấu vết."
+#: builtin/grep.c:654
+msgid "case insensitive matching"
+msgstr "phân biệt chữ hoa/thường"
 
-#: builtin/grep.c:979
-msgid "both --cached and trees are given."
-msgstr "cả hai --cached và các cây phải được chỉ ra."
+#: builtin/grep.c:656
+msgid "match patterns only at word boundaries"
+msgstr "chỉ khớp mẫu tại đường ranh giới từ"
 
-#: builtin/help.c:59
-#, c-format
-msgid "unrecognized help format '%s'"
-msgstr "không nhận ra định dạng trợ giúp '%s'"
+#: builtin/grep.c:658
+msgid "process binary files as text"
+msgstr "xử lý tập tin nhị phân như là dạng văn bản thường"
 
-#: builtin/help.c:87
-msgid "Failed to start emacsclient."
-msgstr "Lỗi khởi chạy emacsclient."
+#: builtin/grep.c:660
+msgid "don't match patterns in binary files"
+msgstr "không khớp mẫu trong các tập tin nhị phân"
 
-#: builtin/help.c:100
+#: builtin/grep.c:663
+msgid "descend at most <depth> levels"
+msgstr "giảm xuống ít nhất mức <sâu>"
+
+#: builtin/grep.c:667
+msgid "use extended POSIX regular expressions"
+msgstr "dùng biểu thức chính qui POSIX có mở rộng"
+
+#: builtin/grep.c:670
+msgid "use basic POSIX regular expressions (default)"
+msgstr "sử dụng biểu thức chính quy kiểu POSIX (mặc định)"
+
+#: builtin/grep.c:673
+msgid "interpret patterns as fixed strings"
+msgstr "diễn dịch các mẫu như là chuỗi cố định"
+
+#: builtin/grep.c:676
+msgid "use Perl-compatible regular expressions"
+msgstr "sử dụng biểu thức chính quy tương thích Perl"
+
+#: builtin/grep.c:679
+msgid "show line numbers"
+msgstr "hiển thị số của dòng"
+
+#: builtin/grep.c:680
+msgid "don't show filenames"
+msgstr "không hiển thị tên tập tin"
+
+#: builtin/grep.c:681
+msgid "show filenames"
+msgstr "hiển thị các tên tập tin"
+
+#: builtin/grep.c:683
+msgid "show filenames relative to top directory"
+msgstr "hiển thị tên tập tin tương đối với thư mục đỉnh (top)"
+
+#: builtin/grep.c:685
+msgid "show only filenames instead of matching lines"
+msgstr "chỉ hiển thị tên tập tin thay vì những dòng khớp với mẫu"
+
+#: builtin/grep.c:687
+msgid "synonym for --files-with-matches"
+msgstr "đồng nghĩa với --files-with-matches"
+
+#: builtin/grep.c:690
+msgid "show only the names of files without match"
+msgstr "chỉ hiển thị tên cho những tập tin không khớp với mẫu"
+
+#: builtin/grep.c:692
+msgid "print NUL after filenames"
+msgstr "thêm NUL vào sau tên tập tin"
+
+#: builtin/grep.c:694
+msgid "show the number of matches instead of matching lines"
+msgstr "hiển thị số lượng khớp thay vì những dòng khớp với mẫu"
+
+#: builtin/grep.c:695
+msgid "highlight matches"
+msgstr "tô sáng cái khớp"
+
+#: builtin/grep.c:697
+msgid "print empty line between matches from different files"
+msgstr "hiển thị dòng trống giữa các lần khớp từ các tập tin khác biệt"
+
+#: builtin/grep.c:699
+msgid "show filename only once above matches from same file"
+msgstr ""
+"hiển thị tên tập tin một lần phía trên các lần khớp từ cùng một tập tin"
+
+#: builtin/grep.c:702
+msgid "show <n> context lines before and after matches"
+msgstr "hiển thị <n> dòng nội dung phía trước và sau các lần khớp"
+
+#: builtin/grep.c:705
+msgid "show <n> context lines before matches"
+msgstr "hiển thị <n> dòng nội dung trước khớp"
+
+#: builtin/grep.c:707
+msgid "show <n> context lines after matches"
+msgstr "hiển thị <n> dòng nội dung sau khớp"
+
+#: builtin/grep.c:708
+msgid "shortcut for -C NUM"
+msgstr "Dạng tắt cho -C SỐ"
+
+#: builtin/grep.c:711
+msgid "show a line with the function name before matches"
+msgstr "hiển thị dòng vói tên hàm trước các lần khớp"
+
+#: builtin/grep.c:713
+msgid "show the surrounding function"
+msgstr "hiển thị hàm bao quanh"
+
+#: builtin/grep.c:716
+msgid "read patterns from file"
+msgstr "đọc mẫu từ tập-tin"
+
+#: builtin/grep.c:718
+msgid "match <pattern>"
+msgstr "match <mẫu>"
+
+#: builtin/grep.c:720
+msgid "combine patterns specified with -e"
+msgstr "tổ hợp mẫu được chỉ ra với tùy chọn -e"
+
+#: builtin/grep.c:732
+msgid "indicate hit with exit status without output"
+msgstr "đưa ra gợi ý với trạng thái thoát mà không có kết xuất"
+
+#: builtin/grep.c:734
+msgid "show only matches from files that match all patterns"
+msgstr "chỉ hiển thị những cái khớp từ tập tin mà nó khớp toàn bộ các mẫu"
+
+#: builtin/grep.c:736
+msgid "show parse tree for grep expression"
+msgstr "hiển thị cây phân tích cú pháp cho biểu thức “grep” (tìm kiếm)"
+
+#: builtin/grep.c:740
+msgid "pager"
+msgstr "trang giấy"
+
+#: builtin/grep.c:740
+msgid "show matching files in the pager"
+msgstr "hiển thị các tập tin khớp trong trang giấy"
+
+#: builtin/grep.c:743
+msgid "allow calling of grep(1) (ignored by this build)"
+msgstr "cho phép gọi grep(1) (bị bỏ qua bởi lần dịch này)"
+
+#: builtin/grep.c:744 builtin/show-ref.c:184
+msgid "show usage"
+msgstr "hiển thị cách dùng"
+
+#: builtin/grep.c:811
+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"
+
+#: builtin/grep.c:889
+msgid "--cached or --untracked cannot be used with --no-index."
+msgstr "--cached hay --untracked không được sử dụng với --no-index."
+
+#: builtin/grep.c:894
+msgid "--no-index or --untracked cannot be used with revs."
+msgstr ""
+"--no-index hay --untracked không được sử dụng cùng với các tùy chọn liên "
+"quan đến revs."
+
+#: builtin/grep.c:897
+msgid "--[no-]exclude-standard cannot be used for tracked contents."
+msgstr "--[no-]exclude-standard không thể sử dụng cho nội dung lưu dấu vết."
+
+#: builtin/grep.c:905
+msgid "both --cached and trees are given."
+msgstr "cả hai --cached và các cây phải được chỉ ra."
+
+#: builtin/hash-object.c:60
+msgid ""
+"git hash-object [-t <type>] [-w] [--path=<file>|--no-filters] [--stdin] [--] "
+"<file>..."
+msgstr ""
+"git hash-object [-t <kiểu>] [-w] [--path=<tập-tin>|--no-filters] [--stdin] "
+"[--] <tập-tin>..."
+
+#: builtin/hash-object.c:61
+msgid "git hash-object  --stdin-paths < <list-of-paths>"
+msgstr "git hash-object  --stdin-paths < <danh-sách-đường-dẫn>"
+
+#: builtin/hash-object.c:72
+msgid "type"
+msgstr "kiểu"
+
+#: builtin/hash-object.c:72
+msgid "object type"
+msgstr "kiểu đối tượng"
+
+#: builtin/hash-object.c:73
+msgid "write the object into the object database"
+msgstr "ghi đối tượng vào dữ liệu đối tượng"
+
+#: builtin/hash-object.c:74
+msgid "read the object from stdin"
+msgstr "đọc đối tượng từ đầu vào tiêu chuẩn stdin"
+
+#: builtin/hash-object.c:76
+msgid "store file as is without filters"
+msgstr "lưu các tập tin mà nó không có các bộ lọc"
+
+#: builtin/hash-object.c:77
+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
+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
+msgid "show man page"
+msgstr "hiển thị trang man"
+
+#: builtin/help.c:45
+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
+msgid "show info page"
+msgstr "hiện trang info"
+
+#: builtin/help.c:53
+msgid "git help [--all] [--man|--web|--info] [command]"
+msgstr "git help [--all] [--man|--web|--info] [lệnh]"
+
+#: builtin/help.c:65
+#, c-format
+msgid "unrecognized help format '%s'"
+msgstr "không nhận ra định dạng trợ giúp “%s”"
+
+#: builtin/help.c:93
+msgid "Failed to start emacsclient."
+msgstr "Lỗi khởi chạy emacsclient."
+
+#: builtin/help.c:106
 msgid "Failed to parse emacsclient version."
 msgstr "Gặp lỗi khi phân tích phiên bản emacsclient."
 
-#: builtin/help.c:108
+#: builtin/help.c:114
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
-msgstr "phiên bản của emacsclient '%d' quá cũ (< 22)."
+msgstr "phiên bản của emacsclient “%d” quá cũ (< 22)."
 
-#: builtin/help.c:126
-#: builtin/help.c:154
-#: builtin/help.c:163
-#: builtin/help.c:171
+#: builtin/help.c:132 builtin/help.c:160 builtin/help.c:169 builtin/help.c:177
 #, c-format
 msgid "failed to exec '%s': %s"
-msgstr "gặp lỗi khi thực thi '%s': %s"
+msgstr "gặp lỗi khi thực thi “%s”: %s"
 
-#: builtin/help.c:211
+#: builtin/help.c:217
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
 "Please consider using 'man.<tool>.cmd' instead."
 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ế."
+"“%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:223
+#: builtin/help.c:229
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
 "Please consider using 'man.<tool>.path' instead."
 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ế."
+"“%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:287
+#: 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:355
+#: builtin/help.c:367
 #, c-format
 msgid "'%s': unknown man viewer."
-msgstr "'%s': không rõ chương trình xem man."
+msgstr "“%s”: không rõ chương trình xem man."
 
-#: builtin/help.c:372
+#: builtin/help.c:384
 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:380
+#: builtin/help.c:392
 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:391
-#, c-format
-msgid "'%s': not a documentation directory."
-msgstr "'%s': không phải là một thư mục tài liệu."
-
-#: builtin/help.c:432
-#: builtin/help.c:439
+#: builtin/help.c:447 builtin/help.c:454
 #, c-format
 msgid "usage: %s%s"
 msgstr "cách sử dụng: %s%s"
 
-#: builtin/help.c:453
+#: builtin/help.c:470
 #, c-format
 msgid "`git %s' is aliased to `%s'"
 msgstr "`git %s' được đặt bí danh thành `%s'"
 
-#: builtin/index-pack.c:169
+#: builtin/index-pack.c:170
 #, 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:189
+#: builtin/index-pack.c:190
 msgid "object of unexpected type"
 msgstr "đối tượng của kiểu không mong đợi"
 
-#: builtin/index-pack.c:226
+#: builtin/index-pack.c:227
 #, 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:236
+#: builtin/index-pack.c:237
 msgid "early EOF"
 msgstr "vừa đúng lúc EOF"
 
-#: builtin/index-pack.c:237
+#: builtin/index-pack.c:238
 msgid "read error on input"
 msgstr "lỗi đọc ở đầu vào"
 
-#: builtin/index-pack.c:249
+#: builtin/index-pack.c:250
 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:256
+#: builtin/index-pack.c:257
 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:272
+#: builtin/index-pack.c:273
 #, c-format
 msgid "unable to create '%s'"
-msgstr "không thể tạo '%s'"
+msgstr "không thể tạo “%s”"
 
-#: builtin/index-pack.c:277
+#: builtin/index-pack.c:278
 #, c-format
 msgid "cannot open packfile '%s'"
-msgstr "không thể mở packfile '%s'"
+msgstr "không thể mở packfile “%s”"
 
-#: builtin/index-pack.c:291
+#: builtin/index-pack.c:292
 msgid "pack signature mismatch"
 msgstr "chữ ký cho pack không khớp"
 
-#: builtin/index-pack.c:311
+#: builtin/index-pack.c:294
+#, c-format
+msgid "pack version %<PRIu32> unsupported"
+msgstr "không hỗ trợ phiên bản pack %<PRIu32>"
+
+#: builtin/index-pack.c:312
 #, 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:405
+#: builtin/index-pack.c:434
 #, c-format
 msgid "inflate returned %d"
 msgstr "xả nén trả về %d"
 
-#: builtin/index-pack.c:450
+#: builtin/index-pack.c:483
 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:458
+#: builtin/index-pack.c:491
 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:466
+#: builtin/index-pack.c:499
 #, c-format
 msgid "unknown object type %d"
 msgstr "không hiểu kiểu đối tượng %d"
 
-#: builtin/index-pack.c:495
+#: builtin/index-pack.c:530
 msgid "cannot pread pack file"
 msgstr "không thể chạy hàm pread cho tập tin pack"
 
-#: builtin/index-pack.c:497
+#: builtin/index-pack.c:532
 #, 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:510
+#: builtin/index-pack.c:558
 msgid "serious inflate inconsistency"
 msgstr "sự mâu thuẫn xả nén nghiêm trọng"
 
-#: builtin/index-pack.c:583
-#, 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:586
+#: 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
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "SỰ VA CHẠM SHA1 ĐàXẢY RA VỚI %s!"
 
-#: builtin/index-pack.c:598
+#: builtin/index-pack.c:652 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
+#, 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
 #, c-format
 msgid "invalid blob object %s"
 msgstr "đối tượng blob không hợp lệ %s"
 
-#: builtin/index-pack.c:610
+#: builtin/index-pack.c:747
 #, c-format
 msgid "invalid %s"
 msgstr "%s không hợp lệ"
 
-#: builtin/index-pack.c:612
+#: builtin/index-pack.c:749
 msgid "Error in object"
 msgstr "Lỗi trong đối tượng"
 
-#: builtin/index-pack.c:614
+#: builtin/index-pack.c:751
 #, 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:687
-#: builtin/index-pack.c:713
+#: builtin/index-pack.c:821 builtin/index-pack.c:847
 msgid "failed to apply delta"
 msgstr "gặp lỗi khi áp dụng delta"
 
-#: builtin/index-pack.c:850
+#: builtin/index-pack.c:986
 msgid "Receiving objects"
 msgstr "Đang nhận về các đối tượng"
 
-#: builtin/index-pack.c:850
+#: builtin/index-pack.c:986
 msgid "Indexing objects"
 msgstr "Các đối tượng bảng mục lục"
 
-#: builtin/index-pack.c:872
+#: builtin/index-pack.c:1012
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "pack bị sai hỏng (SHA1 không khớp)"
 
-#: builtin/index-pack.c:877
+#: builtin/index-pack.c:1017
 msgid "cannot fstat packfile"
 msgstr "không thể fstat packfile"
 
-#: builtin/index-pack.c:880
+#: builtin/index-pack.c:1020
 msgid "pack has junk at the end"
 msgstr "pack có phần thừa ở cuối"
 
-#: builtin/index-pack.c:903
+#: builtin/index-pack.c:1031
+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
 msgid "Resolving deltas"
 msgstr "Đang phân giải các delta"
 
-#: builtin/index-pack.c:954
+#: builtin/index-pack.c:1064
+#, c-format
+msgid "unable to create thread: %s"
+msgstr "không thể tạo tuyến: %s"
+
+#: builtin/index-pack.c:1106
 msgid "confusion beyond insanity"
 msgstr "lộn xộn hơn cả điên rồ"
 
-#: builtin/index-pack.c:973
+#: builtin/index-pack.c:1112
+#, c-format
+msgid "completed with %d local objects"
+msgstr "đầy đủ với %d đối tượng nội bộ"
+
+#: builtin/index-pack.c:1121
+#, 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
 #, 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:998
+#: builtin/index-pack.c:1150
 #, 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:1077
+#: builtin/index-pack.c:1229
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "đối tượng nội bộ %s bị hỏng"
 
-#: builtin/index-pack.c:1101
+#: builtin/index-pack.c:1253
 msgid "error while closing pack file"
 msgstr "gặp lỗi trong khi đóng tập tin pack"
 
-#: builtin/index-pack.c:1114
+#: builtin/index-pack.c:1266
 #, c-format
 msgid "cannot write keep file '%s'"
-msgstr "không thể ghi tập tin giữ lại '%s'"
+msgstr "không thể ghi tập tin giữ lại “%s”"
 
-#: builtin/index-pack.c:1122
+#: builtin/index-pack.c:1274
 #, c-format
 msgid "cannot close written keep file '%s'"
-msgstr "không thể đóng tập tin giữ lại đã được ghi '%s'"
+msgstr "không thể đóng tập tin giữ lại đã được ghi “%s”"
 
-#: builtin/index-pack.c:1135
+#: builtin/index-pack.c:1287
 msgid "cannot store pack file"
 msgstr "không thể lưu tập tin pack"
 
-#: builtin/index-pack.c:1146
+#: builtin/index-pack.c:1298
 msgid "cannot store index file"
 msgstr "không thể lưu trữ tập tin ghi mục lục"
 
-#: builtin/index-pack.c:1247
+#: builtin/index-pack.c:1331
+#, c-format
+msgid "bad pack.indexversion=%<PRIu32>"
+msgstr "sai pack.indexversion=%<PRIu32>"
+
+#: builtin/index-pack.c:1337
+#, 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
+#, c-format
+msgid "no threads support, ignoring %s"
+msgstr "không hỗ trợ đa tuyến, bỏ qua %s"
+
+#: builtin/index-pack.c:1399
 #, c-format
 msgid "Cannot open existing pack file '%s'"
-msgstr "Không thể mở tập tin pack đã sẵn có '%s' "
+msgstr "Không thể mở tập tin pack đã sẵn có “%s”"
 
-#: builtin/index-pack.c:1249
+#: builtin/index-pack.c:1401
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
-msgstr "Không thể mở tập tin 'pack idx' cho '%s'"
+msgstr "Không thể mở tập tin “pack idx” cho “%s”"
 
-#: builtin/index-pack.c:1296
+#: builtin/index-pack.c:1448
 #, 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:1303
+#: builtin/index-pack.c:1455
 #, 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:1330
+#: builtin/index-pack.c:1482
 msgid "Cannot come back to cwd"
 msgstr "Không thể quay lại cwd"
 
-#: builtin/index-pack.c:1374
-#: builtin/index-pack.c:1377
-#: builtin/index-pack.c:1389
-#: builtin/index-pack.c:1393
+#: builtin/index-pack.c:1526 builtin/index-pack.c:1529
+#: builtin/index-pack.c:1541 builtin/index-pack.c:1545
 #, c-format
 msgid "bad %s"
 msgstr "%s sai"
 
-#: builtin/index-pack.c:1407
+#: builtin/index-pack.c:1559
 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:1411
-#: builtin/index-pack.c:1421
+#: builtin/index-pack.c:1563 builtin/index-pack.c:1573
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
-msgstr "tên tập tin packfile '%s' không được kết thúc bằng đuôi '.pack'"
+msgstr "tên tập tin packfile “%s” không được kết thúc bằng đuôi “.pack”"
 
-#: builtin/index-pack.c:1430
+#: builtin/index-pack.c:1582
 msgid "--verify with no packfile name given"
 msgstr "dùng tùy chọn --verify mà không đưa ra tên packfile"
 
@@ -3184,22 +5238,22 @@ msgstr "tên mẫu dài một cách điên rồ %s"
 #: builtin/init-db.c:67
 #, c-format
 msgid "cannot stat '%s'"
-msgstr "không thể lấy trạng thái (stat) về '%s'"
+msgstr "không thể lấy trạng thái (stat) về “%s”"
 
 #: builtin/init-db.c:73
 #, c-format
 msgid "cannot stat template '%s'"
-msgstr "không thể stat (lấy trạng thái về) mẫu '%s'"
+msgstr "không thể stat (lấy trạng thái về) mẫu “%s”"
 
 #: builtin/init-db.c:80
 #, c-format
 msgid "cannot opendir '%s'"
-msgstr "không thể opendir '%s'"
+msgstr "không thể opendir “%s”"
 
 #: builtin/init-db.c:97
 #, c-format
 msgid "cannot readlink '%s'"
-msgstr "không thể readlink '%s'"
+msgstr "không thể readlink “%s”"
 
 #: builtin/init-db.c:99
 #, c-format
@@ -3209,7 +5263,7 @@ msgstr "liên kết tượng trưng dài một cách điên rồ %s"
 #: builtin/init-db.c:102
 #, c-format
 msgid "cannot symlink '%s' '%s'"
-msgstr "không thể tạo liên kết tượng trưng (symlink) '%s' '%s'"
+msgstr "không thể tạo liên kết tượng trưng (symlink) “%s” “%s”"
 
 #: builtin/init-db.c:106
 #, c-format
@@ -3234,185 +5288,494 @@ msgstr "các mẫu không được tìm thấy %s"
 #: builtin/init-db.c:154
 #, c-format
 msgid "not copying templates of a wrong format version %d from '%s'"
-msgstr "không sao chép các mẫu của phiên bản sai định dạng %d từ '%s'"
+msgstr "không sao chép các mẫu của phiên bản sai định dạng %d từ “%s”"
 
 #: builtin/init-db.c:192
 #, c-format
 msgid "insane git directory %s"
 msgstr "thư mục git điên rồ %s"
 
-#: builtin/init-db.c:322
-#: builtin/init-db.c:325
+#: builtin/init-db.c:323 builtin/init-db.c:326
 #, c-format
 msgid "%s already exists"
-msgstr "%s đã tồn tại rồi"
+msgstr "%s đã có từ trước rồi"
 
-#: builtin/init-db.c:354
+#: builtin/init-db.c:355
 #, c-format
 msgid "unable to handle file type %d"
-msgstr "không thể handle tệp tin kiểu %d"
+msgstr "không thể nắm (handle) tập tin kiểu %d"
 
-#: builtin/init-db.c:357
+#: builtin/init-db.c:358
 #, c-format
 msgid "unable to move %s to %s"
 msgstr "không di chuyển được %s vào %s"
 
-#: builtin/init-db.c:362
+#: builtin/init-db.c:363
 #, c-format
 msgid "Could not create git link %s"
-msgstr "Không thể tạo liên kết git '%s'"
+msgstr "Không thể tạo liên kết git “%s”"
 
 #.
 #. * TRANSLATORS: The first '%s' is either "Reinitialized
 #. * existing" or "Initialized empty", the second " shared" or
 #. * "", and the last '%s%s' is the verbatim directory name.
 #.
-#: builtin/init-db.c:419
+#: builtin/init-db.c:420
 #, c-format
 msgid "%s%s Git repository in %s%s\n"
 msgstr "%s%s kho Git trong %s%s\n"
 
-#: builtin/init-db.c:420
+#: builtin/init-db.c:421
 msgid "Reinitialized existing"
 msgstr "Khởi tạo lại đã sẵn có rồi"
 
-#: builtin/init-db.c:420
+#: builtin/init-db.c:421
 msgid "Initialized empty"
 msgstr "Khởi tạo trống rỗng"
 
-#: builtin/init-db.c:421
+#: builtin/init-db.c:422
 msgid " shared"
 msgstr " đã chia sẻ"
 
-#: builtin/init-db.c:440
+#: builtin/init-db.c:441
 msgid "cannot tell cwd"
 msgstr "không nói chuyện được với lệnh cwd"
 
-#: builtin/init-db.c:521
-#: builtin/init-db.c:528
+#: builtin/init-db.c:467
+msgid ""
+"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--shared"
+"[=<permissions>]] [directory]"
+msgstr ""
+"git init [-q | --quiet] [--bare] [--template=<thư-mục-tạm>] [--shared[=<các-"
+"quyền>]] [thư-mục]"
+
+#: builtin/init-db.c:490
+msgid "permissions"
+msgstr "các quyền"
+
+#: builtin/init-db.c:491
+msgid "specify that the git repository is to be shared amongst several users"
+msgstr "chỉ ra cái mà kho git được chia sẻ giữa nhiều người dùng"
+
+#: builtin/init-db.c:493 builtin/prune-packed.c:77
+msgid "be quiet"
+msgstr "im lặng"
+
+#: builtin/init-db.c:522 builtin/init-db.c:529
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "không thể mkdir (tạo thư mục): %s"
 
-#: builtin/init-db.c:532
+#: builtin/init-db.c:533
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "không thể chdir (chuyển đổi thư mục) sang %s"
 
-#: builtin/init-db.c:554
+#: builtin/init-db.c:555
 #, c-format
-msgid "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-dir=<directory>)"
-msgstr "%s (hoặc --work-tree=<thư-mục>) không cho phép không chỉ định %s (hoặc --git-dir=<thư-mục>)"
+msgid ""
+"%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
+"dir=<directory>)"
+msgstr ""
+"%s (hoặc --work-tree=<thư-mục>) không cho phép không chỉ định %s (hoặc --git-"
+"dir=<thư-mục>)"
 
-#: builtin/init-db.c:578
+#: builtin/init-db.c:579
 msgid "Cannot access current working directory"
 msgstr "Không thể truy cập thư mục làm việc hiện hành"
 
-#: builtin/init-db.c:585
+#: builtin/init-db.c:586
 #, c-format
 msgid "Cannot access work tree '%s'"
-msgstr "không thể truy cập cây (tree) làm việc '%s'"
+msgstr "không thể truy cập cây (tree) làm việc “%s”"
+
+#: builtin/log.c:37
+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
+msgid "   or: git show [options] <object>..."
+msgstr "   or: git show [các-tùy-chọn] <đối-tượng>..."
+
+#: builtin/log.c:100
+msgid "suppress diff output"
+msgstr "chặn mọi kết xuất từ diff"
 
-#: builtin/log.c:188
+#: builtin/log.c:101
+msgid "show source"
+msgstr "hiển thị mã nguồn"
+
+#: builtin/log.c:102
+msgid "decorate options"
+msgstr "các tùy chọn trang trí"
+
+#: builtin/log.c:189
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "Kết xuất cuối cùng: %d %s\n"
 
-#: builtin/log.c:401
-#: builtin/log.c:489
+#: builtin/log.c:405 builtin/log.c:497
 #, c-format
 msgid "Could not read object %s"
 msgstr "Không thể đọc đối tượng %s"
 
-#: builtin/log.c:513
+#: builtin/log.c:521
 #, c-format
 msgid "Unknown type: %d"
 msgstr "Không nhận ra kiểu: %d"
 
-#: builtin/log.c:602
+#: builtin/log.c:613
 msgid "format.headers without value"
 msgstr "format.headers không có giá trị cụ thể"
 
-#: builtin/log.c:676
+#: builtin/log.c:687
 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:687
+#: builtin/log.c:698
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "Không thể mở tập tin miếng vá: %s"
 
-#: builtin/log.c:701
+#: builtin/log.c:712
 msgid "Need exactly one range."
 msgstr "Cần chính xác một vùng."
 
-#: builtin/log.c:709
+#: builtin/log.c:720
 msgid "Not a range."
 msgstr "Không phải là một vùng."
 
-#: builtin/log.c:786
+#: builtin/log.c:794
 msgid "Cover letter needs email format"
-msgstr "'Cover letter' cần cho định dạng thư"
+msgstr "”Cover letter” cần cho định dạng thư"
 
-#: builtin/log.c:859
+#: builtin/log.c:867
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to điên rồ: %s"
 
-#: builtin/log.c:932
+#: builtin/log.c:895
+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
 msgid "Two output directories?"
 msgstr "Hai thư mục kết xuất?"
 
-#: builtin/log.c:1153
+#: builtin/log.c:1068
+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
+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
+msgid "print patches to standard out"
+msgstr "hiển thị miếng vá ra đầu ra chuẩn"
+
+#: builtin/log.c:1077
+msgid "generate a cover letter"
+msgstr "tạo bì thư"
+
+#: builtin/log.c:1079
+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
+msgid "sfx"
+msgstr "sfx"
+
+#: builtin/log.c:1081
+msgid "use <sfx> instead of '.patch'"
+msgstr "sử dụng <sfx> thay cho “.patch”"
+
+#: builtin/log.c:1083
+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
+msgid "Use [<prefix>] instead of [PATCH]"
+msgstr "Dùng [<tiền-tố>] thay cho [VÁ]"
+
+#: builtin/log.c:1088
+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
+msgid "don't strip/add [PATCH]"
+msgstr "không strip/add [VÁ]"
+
+#: builtin/log.c:1094
+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
+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
+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
+msgid "Messaging"
+msgstr "Lời nhắn"
+
+#: builtin/log.c:1101
+msgid "header"
+msgstr "đầu đề thư"
+
+#: builtin/log.c:1102
+msgid "add email header"
+msgstr "thêm đầu đề thư"
+
+#: builtin/log.c:1103 builtin/log.c:1105
+msgid "email"
+msgstr "thư điện tử"
+
+#: builtin/log.c:1103
+msgid "add To: header"
+msgstr "thêm To: đầu đề thư"
+
+#: builtin/log.c:1105
+msgid "add Cc: header"
+msgstr "thêm Cc: đầu đề thư"
+
+#: builtin/log.c:1107
+msgid "message-id"
+msgstr "message-id"
+
+#: builtin/log.c:1108
+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
+msgid "boundary"
+msgstr "ranh giới"
+
+#: builtin/log.c:1110
+msgid "attach the patch"
+msgstr "đính kèm miếng vá"
+
+#: builtin/log.c:1113
+msgid "inline the patch"
+msgstr "dùng miếng vá làm nội dung"
+
+#: builtin/log.c:1117
+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
+msgid "signature"
+msgstr "chữ ký"
+
+#: builtin/log.c:1120
+msgid "add a signature"
+msgstr "thêm chữ ký"
+
+#: builtin/log.c:1122
+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:1198
+#: builtin/log.c:1208
 msgid "-n and -k are mutually exclusive."
 msgstr "-n và  -k loại từ lẫn nhau."
 
-#: builtin/log.c:1200
+#: builtin/log.c:1210
 msgid "--subject-prefix and -k are mutually exclusive."
 msgstr "--subject-prefix và -k xung khắc nhau."
 
-#: builtin/log.c:1208
+#: builtin/log.c:1218
 msgid "--name-only does not make sense"
 msgstr "--name-only không hợp lý"
 
-#: builtin/log.c:1210
+#: builtin/log.c:1220
 msgid "--name-status does not make sense"
 msgstr "--name-status không hợp lý"
 
-#: builtin/log.c:1212
+#: builtin/log.c:1222
 msgid "--check does not make sense"
 msgstr "--check không hợp lý"
 
-#: builtin/log.c:1235
+#: builtin/log.c:1245
 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:1237
+#: builtin/log.c:1247
 #, c-format
 msgid "Could not create directory '%s'"
-msgstr "Không thể tạo thư mục '%s'"
+msgstr "Không thể tạo thư mục “%s”"
 
-#: builtin/log.c:1390
+#: builtin/log.c:1400
 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:1494
+#: builtin/log.c:1449
+msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
+msgstr "git cherry [-v] [<thượng-nguồn> [<head> [<giới-hạn>]]]"
+
+#: builtin/log.c:1504
 #, c-format
-msgid "Could not find a tracked remote branch, please specify <upstream> manually.\n"
-msgstr "Không tìm thấy nhánh mạng bị theo vết, hãy chỉ định <dòng-ngược> một cách thủ công.\n"
+msgid ""
+"Could not find a tracked remote branch, please specify <upstream> manually.\n"
+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:1510
-#: builtin/log.c:1512
-#: builtin/log.c:1524
+#: builtin/log.c:1517 builtin/log.c:1519 builtin/log.c:1531
 #, c-format
 msgid "Unknown commit %s"
 msgstr "Không hiểu lần chuyển giao (commit) %s"
 
+#: builtin/ls-files.c:408
+msgid "git ls-files [options] [<file>...]"
+msgstr "git ls-files [các-tùy-chọn] [<tập-tin>...]"
+
+#: builtin/ls-files.c:463
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+msgid "don't show empty directories"
+msgstr "không hiển thị thư mục rỗng"
+
+#: builtin/ls-files.c:488
+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
+msgid "show resolve-undo information"
+msgstr "hiển thị thông tin resolve-undo"
+
+#: builtin/ls-files.c:492
+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
+msgid "exclude patterns are read from <file>"
+msgstr "mẫu loại trừ được đọc từ <tập tin>"
+
+#: builtin/ls-files.c:498
+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
+msgid "add the standard git exclusions"
+msgstr "thêm loại trừ tiêu chuẩn kiểu git"
+
+#: builtin/ls-files.c:503
+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
+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
+msgid "tree-ish"
+msgstr "tree-ish"
+
+#: builtin/ls-files.c:508
+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
+msgid "show debugging data"
+msgstr "hiển thị dữ liệu gỡ lỗi"
+
+#: builtin/ls-tree.c:27
+msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
+msgstr "git ls-tree [<các-tùy-chọn>] <tree-ish> [<đường-dẫn>...]"
+
+#: builtin/ls-tree.c:125
+msgid "only show trees"
+msgstr "chỉ hiển thị các tree"
+
+#: builtin/ls-tree.c:127
+msgid "recurse into subtrees"
+msgstr "đệ quy vào các thư mục con"
+
+#: builtin/ls-tree.c:129
+msgid "show trees when recursing"
+msgstr "hiển thị cây khi đệ quy"
+
+#: builtin/ls-tree.c:132
+msgid "terminate entries with NUL byte"
+msgstr "chấm dứt mục tin với byte NUL"
+
+#: builtin/ls-tree.c:133
+msgid "include object size"
+msgstr "gồm cả kích thước đối tượng"
+
+#: builtin/ls-tree.c:135 builtin/ls-tree.c:137
+msgid "list only filenames"
+msgstr "chỉ liệt kê tên tập tin"
+
+#: builtin/ls-tree.c:140
+msgid "use full path names"
+msgstr "dùng tên đường dẫn đầy đủ"
+
+#: builtin/ls-tree.c:142
+msgid "list entire tree; not just current directory (implies --full-name)"
+msgstr "liệt kê cây mục tin; không chỉ thư mục hiện hành (ngụ ý --full-name)"
+
+#: builtin/merge.c:43
+msgid "git merge [options] [<commit>...]"
+msgstr "git merge [các-tùy-chọn] [<commit>...]"
+
+#: builtin/merge.c:44
+msgid "git merge [options] <msg> HEAD <commit>"
+msgstr "git merge [các-tùy-chọn] <tin-nhắn> HEAD <commit>"
+
+#: builtin/merge.c:45
+msgid "git merge --abort"
+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ị"
@@ -3420,7 +5783,7 @@ msgstr "switch `m' yêu cầu một giá trị"
 #: builtin/merge.c:127
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
-msgstr "Không tìm thấy chiến lược hòa trộn '%s'.\n"
+msgstr "Không tìm thấy chiến lược hòa trộn “%s”.\n"
 
 #: builtin/merge.c:128
 #, c-format
@@ -3432,6 +5795,67 @@ msgstr "Các chiến lược sẵn sàng là:"
 msgid "Available custom strategies are:"
 msgstr "Các chiến lược tùy chỉnh sẵn sàng là:"
 
+#: builtin/merge.c:183
+msgid "do not show a diffstat at the end of the merge"
+msgstr "không hiển thị thống kê khác biệt tại cuối của lần hòa trộn"
+
+#: builtin/merge.c:186
+msgid "show a diffstat at the end of the merge"
+msgstr "hiển thị thống kê khác biệt tại cuối của hòa trộn"
+
+#: builtin/merge.c:187
+msgid "(synonym to --stat)"
+msgstr "(đồng nghĩa với --stat)"
+
+#: builtin/merge.c:189
+msgid "add (at most <n>) entries from shortlog to merge commit message"
+msgstr "thêm (ít nhất <n>) mục từ shortlog cho ghi chú chuyển giao hòa trộn"
+
+#: builtin/merge.c:192
+msgid "create a single commit instead of doing a merge"
+msgstr "tạo một lần chuyển giao (commit) đưon thay vì thực hiện việc hòa trộn"
+
+#: builtin/merge.c:194
+msgid "perform a commit if the merge succeeds (default)"
+msgstr "thực hiện chuyển giao nếu hòa trộn thành công (mặc định)"
+
+#: builtin/merge.c:196
+msgid "edit message before committing"
+msgstr "sửa chú thích trước khi chuyển giao (commit)"
+
+#: builtin/merge.c:198
+msgid "allow fast-forward (default)"
+msgstr "cho phép fast-forward (mặc định)"
+
+#: builtin/merge.c:200
+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
+msgid "strategy"
+msgstr "chiến lược"
+
+#: builtin/merge.c:203
+msgid "merge strategy to use"
+msgstr "chiến lược hòa trộn sẽ dùng"
+
+#: builtin/merge.c:204
+msgid "option=value"
+msgstr "tùy_chọn=giá_trị"
+
+#: builtin/merge.c:205
+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
+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
+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
 msgid "could not run stash."
 msgstr "không thể chạy stash."
@@ -3445,14 +5869,13 @@ msgstr "stash gặp lỗi"
 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:269 builtin/merge.c:286
 msgid "read-tree failed"
 msgstr "read-tree gặp lỗi"
 
 #: builtin/merge.c:316
 msgid " (nothing to squash)"
-msgstr " (không có ghì để squash)"
+msgstr " (không có gì để squash)"
 
 #: builtin/merge.c:329
 #, c-format
@@ -3472,53 +5895,47 @@ msgstr "Hoàn thành SQUASH_MSG"
 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:437
+#: builtin/merge.c:436
 #, 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ả"
+msgstr "“%s” không chỉ đến một lần chuyển giao (commit) nào cả"
 
-#: builtin/merge.c:536
+#: builtin/merge.c:535
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Chuỗi branch.%s.mergeoptions sai: %s"
 
-#: builtin/merge.c:629
+#: builtin/merge.c:628
 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:679
-msgid "failed to read the cache"
-msgstr "gặp lỗi khi đọc bộ nhớ tạm"
-
-#: builtin/merge.c:697
-msgid "Unable to write index."
-msgstr "Không thể ghi bảng mục lục"
-
-#: builtin/merge.c:710
+#: builtin/merge.c:656
 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:724
+#: builtin/merge.c:670
 #, 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:738
+#: builtin/merge.c:684
 #, c-format
 msgid "unable to write %s"
-msgstr "không ghi được %s"
+msgstr "không thể ghi %s"
 
-#: builtin/merge.c:877
+#: builtin/merge.c:773
 #, c-format
 msgid "Could not read from '%s'"
-msgstr "Không thể đọc từ '%s'"
+msgstr "Không thể đọc từ “%s”"
 
-#: builtin/merge.c:886
+#: builtin/merge.c:782
 #, 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"
+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:892
+#: builtin/merge.c:788
 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"
@@ -3526,60 +5943,64 @@ msgid ""
 "Lines starting with '#' 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 dòng ngược đã cập nhật vào trong một nhánh topic.\n"
+"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 "
+"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 rỗng\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 "
+"rỗng\n"
 "sẽ làm hủy bỏ lần chuyển giao (commit).\n"
 
-#: builtin/merge.c:916
+#: builtin/merge.c:812
 msgid "Empty commit message."
 msgstr "Chú thích của lần commit (chuyển giao) bị trống rỗng."
 
-#: builtin/merge.c:928
+#: builtin/merge.c:824
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Thần kỳ.\n"
 
-#: builtin/merge.c:993
+#: builtin/merge.c:889
 #, 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"
+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:1009
+#: builtin/merge.c:905
 #, 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:1050
+#: builtin/merge.c:946
 msgid "No current branch."
 msgstr "không phải nhánh hiện hành"
 
-#: builtin/merge.c:1052
+#: builtin/merge.c:948
 msgid "No remote for the current branch."
 msgstr "Không có máy chủ cho nhánh hiện hành."
 
-#: builtin/merge.c:1054
+#: builtin/merge.c:950
 msgid "No default upstream defined for the current branch."
-msgstr "Không có dòng ngược mặc định được định nghĩa cho nhánh hiện hành."
+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:1059
+#: builtin/merge.c:955
 #, 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:1146
-#: builtin/merge.c:1303
+#: builtin/merge.c:1042 builtin/merge.c:1199
 #, 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:1214
+#: builtin/merge.c:1110
 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ả (không thấy MERGE_HEAD)."
+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:1230
-#: git-pull.sh:31
+#: builtin/merge.c:1126 git-pull.sh:31
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you can merge."
@@ -3587,12 +6008,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:1233
-#: git-pull.sh:34
+#: builtin/merge.c:1129 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:1237
+#: builtin/merge.c:1133
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you can merge."
@@ -3600,335 +6020,837 @@ 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:1240
+#: builtin/merge.c:1136
 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:1249
+#: builtin/merge.c:1145
 msgid "You cannot combine --squash with --no-ff."
-msgstr "Bạn không thể tổ hợp --squash với --no-ff."
+msgstr "Bạn không thể kết hợp --squash với --no-ff."
 
-#: builtin/merge.c:1254
+#: builtin/merge.c:1150
 msgid "You cannot combine --no-ff with --ff-only."
-msgstr "Bạn không thể tổ hợp --no-ff với --ff-only."
+msgstr "Bạn không thể kết hợp --no-ff với --ff-only."
 
-#: builtin/merge.c:1261
+#: builtin/merge.c:1157
 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."
+msgstr ""
+"Không chỉ ra lần chuyển giao (commit) và merge.defaultToUpstream chưa được "
+"đặt."
 
-#: builtin/merge.c:1293
+#: builtin/merge.c:1189
 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"
+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:1296
+#: builtin/merge.c:1192
 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:1298
+#: builtin/merge.c:1194
 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"
+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:1413
+#: builtin/merge.c:1309
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Đang cập nhật %s..%s\n"
 
-#: builtin/merge.c:1451
+#: builtin/merge.c:1348
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
-msgstr "Đang thử hòa trộn kiểu 'trivial in-index'...\n"
+msgstr "Đang thử hòa trộn kiểu “trivial in-index”...\n"
 
-#: builtin/merge.c:1458
+#: builtin/merge.c:1355
 #, c-format
 msgid "Nope.\n"
 msgstr "Không.\n"
 
-#: builtin/merge.c:1490
+#: builtin/merge.c:1387
 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:1513
-#: builtin/merge.c:1592
+#: builtin/merge.c:1410 builtin/merge.c:1489
 #, 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:1517
+#: builtin/merge.c:1414
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Đang thử chiến lược hòa trộn %s...\n"
 
-#: builtin/merge.c:1583
+#: builtin/merge.c:1480
 #, 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:1585
+#: builtin/merge.c:1482
 #, 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:1594
+#: builtin/merge.c:1491
 #, 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:1606
+#: builtin/merge.c:1503
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
-msgstr "Hòa trộn tự động đã trở nên tốt; bị dừng trước khi việc chuyển giao được yêu cầu\n"
+msgstr ""
+"Hòa trộn tự động đã trở nên tốt; bị dừng trước khi việc chuyển giao được yêu "
+"cầu\n"
+
+#: builtin/merge-base.c:26
+msgid "git merge-base [-a|--all] <commit> <commit>..."
+msgstr "git merge-base [-a|--all] <commit> <commit>..."
+
+#: builtin/merge-base.c:27
+msgid "git merge-base [-a|--all] --octopus <commit>..."
+msgstr "git merge-base [-a|--all] --octopus <lần commit>..."
+
+#: builtin/merge-base.c:28
+msgid "git merge-base --independent <commit>..."
+msgstr "git merge-base --independent <lần commit>..."
+
+#: builtin/merge-base.c:29
+msgid "git merge-base --is-ancestor <commit> <commit>"
+msgstr "git merge-base --is-ancestor <commit> <commit>"
+
+#: builtin/merge-base.c:98
+msgid "output all common ancestors"
+msgstr "xuất ra tất cả các ông bà, tổ tiên chung"
+
+#: builtin/merge-base.c:99
+msgid "find ancestors for a single n-way merge"
+msgstr "tìm tổ tiên của hòa trộn n-way đơn"
+
+#: builtin/merge-base.c:100
+msgid "list revs not reachable from others"
+msgstr "liệt kê các “rev” mà nó không thể đọc được từ cái khác"
+
+#: builtin/merge-base.c:102
+msgid "is the first one ancestor of the other?"
+msgstr "là cha mẹ đầu tiên của cái khác?"
+
+#: builtin/merge-file.c:8
+msgid ""
+"git merge-file [options] [-L name1 [-L orig [-L name2]]] file1 orig_file "
+"file2"
+msgstr ""
+"git merge-file [các-tùy-chọn] [-L tên1 [-L gốc [-L tên2]]] tập-tin1 tập-tin-"
+"gốc tập-tin2"
+
+#: builtin/merge-file.c:33
+msgid "send results to standard output"
+msgstr "gửi kết quả vào đầu ra tiêu chuẩn"
+
+#: builtin/merge-file.c:34
+msgid "use a diff3 based merge"
+msgstr "dùng kiểu  hòa dựa trên diff3"
+
+#: builtin/merge-file.c:35
+msgid "for conflicts, use our version"
+msgstr "để tránh xung đột, sử dụng phiên bản của chúng ta"
+
+#: builtin/merge-file.c:37
+msgid "for conflicts, use their version"
+msgstr "để tránh xung đột, sử dụng phiên bản của họ"
+
+#: builtin/merge-file.c:39
+msgid "for conflicts, use a union version"
+msgstr "để tránh xung đột, sử dụng phiên bản kết hợp"
+
+#: builtin/merge-file.c:42
+msgid "for conflicts, use this marker size"
+msgstr "để tránh xung đột, hãy sử dụng kích thước bộ tạo này"
+
+#: builtin/merge-file.c:43
+msgid "do not warn about conflicts"
+msgstr "không cảnh báo về các xung đột xảy ra"
+
+#: builtin/merge-file.c:45
+msgid "set labels for file1/orig_file/file2"
+msgstr "đặt nhãn cho tập-tin-1/tập-tin-gốc/tập-tin-2"
+
+#: builtin/mktree.c:67
+msgid "git mktree [-z] [--missing] [--batch]"
+msgstr "git mktree [-z] [--missing] [--batch]"
+
+#: builtin/mktree.c:153
+msgid "input is NUL terminated"
+msgstr "đầu vào được chấm dứt bởi NUL"
+
+#: builtin/mktree.c:154 builtin/write-tree.c:24
+msgid "allow missing objects"
+msgstr "cho phép thiếu đối tượng"
+
+#: builtin/mktree.c:155
+msgid "allow creation of more than one tree"
+msgstr "cho phép tạo nhiều hơn một cây"
+
+#: builtin/mv.c:14
+msgid "git mv [options] <source>... <destination>"
+msgstr "git mv [các-tùy-chọn] <nguồn>... <đích>"
+
+#: builtin/mv.c:64
+msgid "force move/rename even if target exists"
+msgstr "ép buộc di chuyển hay đổi tên thậm chí cả khi đích đã tồn tại"
+
+#: builtin/mv.c:65
+msgid "skip move/rename errors"
+msgstr "bỏ qua các lỗi liên quan đến di chuyển, đổi tên"
 
 #: builtin/mv.c:108
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
-msgstr "Đang kiểm tra việc đổi tên của '%s' thành '%s'\n"
+msgstr "Đang kiểm tra việc đổi tên của “%s” thành “%s”\n"
+
+#: builtin/mv.c:112
+msgid "bad source"
+msgstr "nguồn sai"
+
+#: builtin/mv.c:115
+msgid "can not move directory into itself"
+msgstr "không thể di chuyển một thư mục vào trong chính nó được"
+
+#: builtin/mv.c:118
+msgid "cannot move directory over file"
+msgstr "không di chuyển được thư mục thông qua tập tin"
+
+#: builtin/mv.c:128
+#, c-format
+msgid "Huh? %.*s is in index?"
+msgstr "Hả? %.*s trong bảng mục lục à?"
+
+#: builtin/mv.c:140
+msgid "source directory is empty"
+msgstr "thư mục nguồn là trống rỗng"
+
+#: builtin/mv.c:171
+msgid "not under version control"
+msgstr "không nằm dưới sự quản lý mã nguồn"
+
+#: builtin/mv.c:173
+msgid "destination exists"
+msgstr "đích đã tồn tại sẵn rồi"
+
+#: builtin/mv.c:181
+#, c-format
+msgid "overwriting '%s'"
+msgstr "đang ghi đè lên “%s”"
+
+#: builtin/mv.c:184
+msgid "Cannot overwrite"
+msgstr "Không thể ghi đè"
+
+#: builtin/mv.c:187
+msgid "multiple sources for the same target"
+msgstr "Nhiều nguồn cho cùng một đích"
+
+#: builtin/mv.c:202
+#, c-format
+msgid "%s, source=%s, destination=%s"
+msgstr "%s, nguồn=%s, đích=%s"
+
+#: builtin/mv.c:212
+#, c-format
+msgid "Renaming %s to %s\n"
+msgstr "Đổi tên %s thành %s\n"
+
+#: builtin/mv.c:215 builtin/remote.c:731
+#, c-format
+msgid "renaming '%s' failed"
+msgstr "đổi tên %s gặp lỗi"
+
+#: builtin/name-rev.c:175
+msgid "git name-rev [options] <commit>..."
+msgstr "git name-rev [các-tùy-chọn] <commit>..."
+
+#: builtin/name-rev.c:176
+msgid "git name-rev [options] --all"
+msgstr "git name-rev [các-tùy-chọn] --all"
+
+#: builtin/name-rev.c:177
+msgid "git name-rev [options] --stdin"
+msgstr "git name-rev [các-tùy-chọn] --stdin"
+
+#: builtin/name-rev.c:229
+msgid "print only names (no SHA-1)"
+msgstr "chỉ hiển thị tên (không SHA-1)"
+
+#: builtin/name-rev.c:230
+msgid "only use tags to name the commits"
+msgstr "chỉ dùng các thẻ để đặt tên cho các lần chuyển giao"
+
+#: builtin/name-rev.c:232
+msgid "only use refs matching <pattern>"
+msgstr "chỉ sử dụng các tham chiếu (refs) khớp với <mẫu>"
+
+#: builtin/name-rev.c:234
+msgid "list all commits reachable from all refs"
+msgstr ""
+"liệt kê tất cả các lần chuyển giao có thể đọc được từ tất cả các tham chiếu"
+
+#: builtin/name-rev.c:235
+msgid "read from stdin"
+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`"
+
+#: builtin/notes.c:26
+msgid "git notes [--ref <notes_ref>] [list [<object>]]"
+msgstr "git notes [--ref <notes_ref>] [list [<đối-tượng>]]"
+
+#: builtin/notes.c:27
+msgid ""
+"git notes [--ref <notes_ref>] add [-f] [-m <msg> | -F <file> | (-c | -C) "
+"<object>] [<object>]"
+msgstr ""
+"git notes [--ref <notes_ref>] add [-f] [-m <lời-nhắn> | -F <tập-tin> | (-c | "
+"-C) <đối-tượng>] [<đối-tượng>]"
+
+#: builtin/notes.c:28
+msgid "git notes [--ref <notes_ref>] copy [-f] <from-object> <to-object>"
+msgstr "git notes [--ref <notes_ref>] copy [-f] <từ-đối-tượng> <đến-đối-tượng>"
+
+#: builtin/notes.c:29
+msgid ""
+"git notes [--ref <notes_ref>] append [-m <msg> | -F <file> | (-c | -C) "
+"<object>] [<object>]"
+msgstr ""
+"git notes [--ref <notes_ref>] append [-m <lời-nhắn> | -F <tập-tin> | (-c | -"
+"C) <đối-tượng>] [<đối-tượng>]"
+
+#: builtin/notes.c:30
+msgid "git notes [--ref <notes_ref>] edit [<object>]"
+msgstr "git notes [--ref <notes_ref>] edit [<đối-tượng>]"
+
+#: builtin/notes.c:31
+msgid "git notes [--ref <notes_ref>] show [<object>]"
+msgstr "git notes [--ref <notes_ref>] show [<đối-tượng>]"
+
+#: builtin/notes.c:32
+msgid ""
+"git notes [--ref <notes_ref>] merge [-v | -q] [-s <strategy> ] <notes_ref>"
+msgstr ""
+"git notes [--ref <notes_ref>] merge [-v | -q] [-s <chiến-lược> ] <notes_ref>"
+
+#: builtin/notes.c:33
+msgid "git notes merge --commit [-v | -q]"
+msgstr "git notes merge --commit [-v | -q]"
+
+#: builtin/notes.c:34
+msgid "git notes merge --abort [-v | -q]"
+msgstr "git notes merge --abort [-v | -q]"
+
+#: builtin/notes.c:35
+msgid "git notes [--ref <notes_ref>] remove [<object>...]"
+msgstr "git notes [--ref <notes_ref>] remove [<đối-tượng>...]"
+
+#: builtin/notes.c:36
+msgid "git notes [--ref <notes_ref>] prune [-n | -v]"
+msgstr "git notes [--ref <notes_ref>] prune [-n | -v]"
+
+#: builtin/notes.c:37
+msgid "git notes [--ref <notes_ref>] get-ref"
+msgstr "git notes [--ref <notes_ref>] get-ref"
 
-#: builtin/mv.c:112
-msgid "bad source"
-msgstr "nguồn sai"
+#: builtin/notes.c:42
+msgid "git notes [list [<object>]]"
+msgstr "git notes [list [<đối tượng>]]"
 
-#: builtin/mv.c:115
-msgid "can not move directory into itself"
-msgstr "không thể di chuyển một thư mục vào trong chính nó được"
+#: builtin/notes.c:47
+msgid "git notes add [<options>] [<object>]"
+msgstr "git notes add [<các-tùy-chọn>] [<đối-tượng>]"
 
-#: builtin/mv.c:118
-msgid "cannot move directory over file"
-msgstr "không di chuyển được thư mục thông qua tập tin"
+#: builtin/notes.c:52
+msgid "git notes copy [<options>] <from-object> <to-object>"
+msgstr "git notes copy [<các-tùy-chọn>] <từ-đối-tượng> <đến-đối-tượng>"
 
-#: builtin/mv.c:128
-#, c-format
-msgid "Huh? %.*s is in index?"
-msgstr "Hả? %.*s trong bảng mục lục à?"
+#: builtin/notes.c:53
+msgid "git notes copy --stdin [<from-object> <to-object>]..."
+msgstr "git notes copy --stdin [<từ-đối-tượng> <đến-đối-tượng>]..."
 
-#: builtin/mv.c:140
-msgid "source directory is empty"
-msgstr "thư mục nguồn là trống rỗng"
+#: builtin/notes.c:58
+msgid "git notes append [<options>] [<object>]"
+msgstr "git notes append [<các-tùy-chọn>] [<đối-tượng>]"
 
-#: builtin/mv.c:171
-msgid "not under version control"
-msgstr "không nằm dưới sự quản lý mã nguồn"
+#: builtin/notes.c:63
+msgid "git notes edit [<object>]"
+msgstr "git notes edit [<đối tượng>]"
 
-#: builtin/mv.c:173
-msgid "destination exists"
-msgstr "đích đã tồn tại sẵn rồi"
+#: builtin/notes.c:68
+msgid "git notes show [<object>]"
+msgstr "git notes show [<đối tượng>]"
 
-#: builtin/mv.c:181
-#, c-format
-msgid "overwriting '%s'"
-msgstr "đang ghi đè lên '%s'"
+#: builtin/notes.c:73
+msgid "git notes merge [<options>] <notes_ref>"
+msgstr "git notes merge [<các-tùy-chọn>] <notes_ref>"
 
-#: builtin/mv.c:184
-msgid "Cannot overwrite"
-msgstr "Không thể ghi chèn"
+#: builtin/notes.c:74
+msgid "git notes merge --commit [<options>]"
+msgstr "git notes merge --commit [<các-tùy-chọn>]"
 
-#: builtin/mv.c:187
-msgid "multiple sources for the same target"
-msgstr "Nhiều nguồn cho cùng một đích"
+#: builtin/notes.c:75
+msgid "git notes merge --abort [<options>]"
+msgstr "git notes merge --abort [<các-tùy-chọn>]"
 
-#: builtin/mv.c:202
-#, c-format
-msgid "%s, source=%s, destination=%s"
-msgstr "%s, nguồn=%s, đích=%s"
+#: builtin/notes.c:80
+msgid "git notes remove [<object>]"
+msgstr "git notes remove [<đối tượng>]"
 
-#: builtin/mv.c:212
-#, c-format
-msgid "Renaming %s to %s\n"
-msgstr "Đang thay đổi tên %s thành %s\n"
+#: builtin/notes.c:85
+msgid "git notes prune [<options>]"
+msgstr "git notes prune [<các-tùy-chọn>]"
 
-#: builtin/mv.c:215
-#: builtin/remote.c:731
-#, c-format
-msgid "renaming '%s' failed"
-msgstr "đổi tên %s gặp lỗi"
+#: builtin/notes.c:90
+msgid "git notes get-ref"
+msgstr "git notes get-ref"
 
-#: builtin/notes.c:139
+#: builtin/notes.c:142
 #, c-format
 msgid "unable to start 'show' for object '%s'"
-msgstr "không thể khởi chạy 'show' cho đối tượng '%s'"
+msgstr "không thể khởi chạy “show” cho đối tượng “%s”"
 
-#: builtin/notes.c:145
+#: 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"
+msgstr "không thể fdopen “show” (lệnh hiển thị) mô tả tập tin (fd) kết xuất"
 
-#: builtin/notes.c:155
+#: 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'"
+msgstr "gặp lỗi khi đóng đường ống cho lệnh “show” cho đối tượng “%s”"
 
-#: builtin/notes.c:158
+#: builtin/notes.c:161
 #, 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'"
+msgstr "gặp lỗi khi hoàn thành “show” cho đối tượng “%s”"
 
-#: builtin/notes.c:175
-#: builtin/tag.c:347
+#: builtin/notes.c:178 builtin/tag.c:347
 #, c-format
 msgid "could not create file '%s'"
-msgstr "không thể tạo tập tin '%s'"
+msgstr "không thể tạo tập tin “%s”"
 
-#: builtin/notes.c:189
+#: builtin/notes.c:192
 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"
+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:210
-#: builtin/notes.c:973
+#: builtin/notes.c:213 builtin/notes.c:976
 #, 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:215
+#: builtin/notes.c:218
 msgid "unable to write note object"
 msgstr "không thể ghi đối tượng ghi chú (note)"
 
-#: builtin/notes.c:217
+#: builtin/notes.c:220
 #, 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:251
-#: builtin/tag.c:542
+#: builtin/notes.c:254 builtin/tag.c:542
 #, c-format
 msgid "cannot read '%s'"
-msgstr "không thể đọc '%s'"
+msgstr "không thể đọc “%s”"
 
-#: builtin/notes.c:253
-#: builtin/tag.c:545
+#: builtin/notes.c:256 builtin/tag.c:545
 #, c-format
 msgid "could not open or read '%s'"
-msgstr "không thể mở để đọc hay ghi '%s'"
-
-#: builtin/notes.c:272
-#: builtin/notes.c:445
-#: builtin/notes.c:447
-#: builtin/notes.c:507
-#: builtin/notes.c:561
-#: builtin/notes.c:644
-#: builtin/notes.c:649
-#: builtin/notes.c:724
-#: builtin/notes.c:766
-#: builtin/notes.c:968
-#: builtin/reset.c:293
-#: builtin/tag.c:558
+msgstr "không thể mở để đọc hay ghi “%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
 #, 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 giải quyết “%s” như là một tham chiếu (ref) hợp lệ."
 
-#: builtin/notes.c:275
+#: builtin/notes.c:278
 #, c-format
 msgid "Failed to read object '%s'."
-msgstr "Gặp lỗi khi đọc đối tượng '%s'."
+msgstr "Gặp lỗi khi đọc đối tượng “%s”."
 
-#: builtin/notes.c:299
+#: builtin/notes.c:302
 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ú"
+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:340
+#: builtin/notes.c:343
 #, c-format
 msgid "Bad notes.rewriteMode value: '%s'"
-msgstr "Giá trị notes.rewriteMode sai: '%s'"
+msgstr "Giá trị notes.rewriteMode sai: “%s”"
 
-#: builtin/notes.c:350
+#: builtin/notes.c:353
 #, 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:377
+#: builtin/notes.c:380
 #, c-format
 msgid "Bad %s value: '%s'"
-msgstr "Giá trị %s sai: '%s'"
+msgstr "Giá trị %s sai: “%s”"
 
-#: builtin/notes.c:441
+#: builtin/notes.c:444
 #, c-format
 msgid "Malformed input line: '%s'."
-msgstr "Dòng nhập vào dị hình: '%s'."
+msgstr "Dòng nhập vào dị hình: “%s”."
 
-#: builtin/notes.c:456
+#: builtin/notes.c:459
 #, 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:500
-#: builtin/notes.c:554
-#: builtin/notes.c:627
-#: builtin/notes.c:639
-#: builtin/notes.c:712
-#: builtin/notes.c:759
-#: builtin/notes.c:1033
+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
 msgid "too many parameters"
 msgstr "quá nhiều đối số"
 
-#: builtin/notes.c:513
-#: builtin/notes.c:772
+#: builtin/notes.c:516 builtin/notes.c:775
 #, c-format
 msgid "No note found for object %s."
-msgstr "không ghi chú được tìm thấy cho đối tượng %s."
+msgstr "không tìm thấy ghi chú cho đối tượng %s."
+
+#: builtin/notes.c:538 builtin/notes.c:695
+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
+msgid "note contents in a file"
+msgstr "nội dung ghi chú (note) nằm trong một tập tin"
 
-#: builtin/notes.c:580
+#: builtin/notes.c:543 builtin/notes.c:546 builtin/notes.c:700
+#: builtin/notes.c:703 builtin/tag.c:476
+msgid "object"
+msgstr "đối tượng"
+
+#: builtin/notes.c:544 builtin/notes.c:701
+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
+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
+msgid "replace existing notes"
+msgstr "thay thế ghi chú trước"
+
+#: builtin/notes.c:583
 #, c-format
-msgid "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite existing notes"
-msgstr "Không thể thêm các ghi chú. Đã tìm thấy các ghi chú đã sẵn có cho đối tượng %s. Sử dụng tùy chọn '-f' để ghi đè lên các ghi chú cũ"
+msgid ""
+"Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
+"existing notes"
+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:585
-#: builtin/notes.c:662
+#: builtin/notes.c:588 builtin/notes.c:665
 #, 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:635
+#: builtin/notes.c:618
+msgid "read objects from stdin"
+msgstr "đọc các đối tượng từ đầu vào tiêu chuẩn"
+
+#: builtin/notes.c:620
+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
 msgid "too few parameters"
 msgstr "quá ít đối số"
 
-#: builtin/notes.c:656
+#: builtin/notes.c:659
 #, c-format
-msgid "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite existing notes"
-msgstr "Không thể sao chép các ghi chú. Đã tìm thấy các ghi chú đã sẵn có cho đối tượng %s. Sử dụng tùy chọn '-f' để ghi đè lên các ghi chú cũ"
+msgid ""
+"Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
+"existing notes"
+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:668
+#: builtin/notes.c:671
 #, 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:717
+#: builtin/notes.c:720
 #, c-format
 msgid ""
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
 "Please use 'git notes add -f -m/-F/-c/-C' instead.\n"
 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"
+"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
+msgid "General options"
+msgstr "Tùy chọn chung"
+
+#: builtin/notes.c:869
+msgid "Merge options"
+msgstr "Tùy chọn về hòa trộn"
+
+#: builtin/notes.c:871
+msgid ""
+"resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
+"cat_sort_uniq)"
+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
+msgid "Committing unmerged notes"
+msgstr "Chuyển giao các note chưa được hòa trộn"
+
+#: builtin/notes.c:875
+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
+msgid "Aborting notes merge resolution"
+msgstr "Hủy bỏ phân giải ghi chú (note) hòa trộn"
+
+#: builtin/notes.c:879
+msgid "abort notes merge"
+msgstr "bỏ qua hòa trộn các ghi chú (note)"
 
-#: builtin/notes.c:971
+#: builtin/notes.c:974
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "Đối tượng %s không có ghi chú (note)\n"
 
-#: builtin/notes.c:1103
-#: builtin/remote.c:1598
+#: builtin/notes.c:986
+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
+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
+msgid "notes_ref"
+msgstr "notes_ref"
+
+#: builtin/notes.c:1071
+msgid "use notes from <notes_ref>"
+msgstr "dùng “notes” từ <notes_ref>"
+
+#: builtin/notes.c:1106 builtin/remote.c:1598
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "Không hiểu câu lệnh con: %s"
 
-#: builtin/pack-objects.c:2337
+#: builtin/pack-objects.c:23
+msgid "git pack-objects --stdout [options...] [< ref-list | < object-list]"
+msgstr ""
+"git pack-objects --stdout [các-tùy-chọn...] [< danh-sách-ref | < danh-sách-"
+"đối-tượng]"
+
+#: builtin/pack-objects.c:24
+msgid "git pack-objects [options...] base-name [< ref-list | < object-list]"
+msgstr ""
+"git pack-objects [các-tùy-chọn...] base-name [< danh-sách-ref | < danh-sách-"
+"đối-tượng]"
+
+#: builtin/pack-objects.c:183 builtin/pack-objects.c:186
+#, c-format
+msgid "deflate error (%d)"
+msgstr "lỗi giải nén (%d)"
+
+#: builtin/pack-objects.c:2397
 #, c-format
 msgid "unsupported index version %s"
 msgstr "phiên bản mục lục không được hỗ trợ %s"
 
-#: builtin/pack-objects.c:2341
+#: builtin/pack-objects.c:2401
 #, c-format
 msgid "bad index version '%s'"
-msgstr "phiên bản mục lục sai '%s'"
+msgstr "phiên bản mục lục sai “%s”"
 
-#: builtin/pack-objects.c:2364
+#: builtin/pack-objects.c:2424
 #, c-format
 msgid "option %s does not accept negative form"
 msgstr "tùy chọn %s không chấp nhận dạng thức âm"
 
-#: builtin/pack-objects.c:2368
+#: builtin/pack-objects.c:2428
 #, c-format
 msgid "unable to parse value '%s' for option %s"
-msgstr "không thể phân tích giá trị '%s' cho tùy chọn %s"
+msgstr "không thể phân tích giá trị “%s” cho tùy chọn %s"
+
+#: builtin/pack-objects.c:2447
+msgid "do not show progress meter"
+msgstr "không hiển thị bộ đo tiến trình"
+
+#: builtin/pack-objects.c:2449
+msgid "show progress meter"
+msgstr "hiển thị bộ đo tiến trình"
+
+#: builtin/pack-objects.c:2451
+msgid "show progress meter during object writing phase"
+msgstr "hiển thị bộ đo tiến triển trong suốt pha ghi đối tượng"
+
+#: builtin/pack-objects.c:2454
+msgid "similar to --all-progress when progress meter is shown"
+msgstr "tương tự --all-progress khi bộ đo tiến trình được xuất hiện"
+
+#: builtin/pack-objects.c:2455
+msgid "version[,offset]"
+msgstr "phiên bản[,offset]"
+
+#: builtin/pack-objects.c:2456
+msgid "write the pack index file in the specified idx format version"
+msgstr "ghi tập tin bảng mục lục gói (pack) ở phiên bản định dạng idx đã cho"
+
+#: builtin/pack-objects.c:2459
+msgid "maximum size of each output pack file"
+msgstr "kcíh thước tối đa cho tập tin gói được tạo"
+
+#: builtin/pack-objects.c:2461
+msgid "ignore borrowed objects from alternate object store"
+msgstr "bỏ qua các đối tượng vay mượn từ kho đối tượng thay thế"
+
+#: builtin/pack-objects.c:2463
+msgid "ignore packed objects"
+msgstr "bỏ qua các đối tượng đóng gói"
+
+#: builtin/pack-objects.c:2465
+msgid "limit pack window by objects"
+msgstr "giới hạn cửa sổ đóng gói theo đối tượng"
+
+#: builtin/pack-objects.c:2467
+msgid "limit pack window by memory in addition to object limit"
+msgstr "giới hạn cửa sổ đóng gói theo bộ nhớ cộng thêm với giới hạn đối tượng"
+
+#: builtin/pack-objects.c:2469
+msgid "maximum length of delta chain allowed in the resulting pack"
+msgstr "độ dài tối đa của chuỗi móc xích “delta” được phép trong gói kết quả"
+
+#: builtin/pack-objects.c:2471
+msgid "reuse existing deltas"
+msgstr "dùng lại các delta sẵn có"
+
+#: builtin/pack-objects.c:2473
+msgid "reuse existing objects"
+msgstr "dùng lại các đối tượng sẵn có"
+
+#: builtin/pack-objects.c:2475
+msgid "use OFS_DELTA objects"
+msgstr "dùng các đối tượng OFS_DELTA"
+
+#: builtin/pack-objects.c:2477
+msgid "use threads when searching for best delta matches"
+msgstr "sử dụng các tuyến trình khi tìm kiếm cho các mẫu khớp delta tốt nhất"
+
+#: builtin/pack-objects.c:2479
+msgid "do not create an empty pack output"
+msgstr "không thể tạo kết xuất gói (pack) trống rỗng"
+
+#: builtin/pack-objects.c:2481
+msgid "read revision arguments from standard input"
+msgstr " đọc tham số “revision” từ thiết bị nhập chuẩn"
+
+#: builtin/pack-objects.c:2483
+msgid "limit the objects to those that are not yet packed"
+msgstr "giới hạn các đối tượng thành những cái mà chúng vẫn chưa được đóng gói"
+
+#: builtin/pack-objects.c:2486
+msgid "include objects reachable from any reference"
+msgstr "bao gồm các đối tượng có thể đọc được từ bất kỳ tham chiếu nào"
+
+#: builtin/pack-objects.c:2489
+msgid "include objects referred by reflog entries"
+msgstr "bao gồm các đối tượng được tham chiếu bởi các mục reflog"
+
+#: builtin/pack-objects.c:2492
+msgid "output pack to stdout"
+msgstr "xuất gói ra đầu ra tiêu chuẩn"
+
+#: builtin/pack-objects.c:2494
+msgid "include tag objects that refer to objects to be packed"
+msgstr "bao gồm các đối tượng tham chiếu đến các đối tượng được đóng gói"
+
+#: builtin/pack-objects.c:2496
+msgid "keep unreachable objects"
+msgstr "giữ lại các đối tượng không thể đọc được"
+
+#: builtin/pack-objects.c:2497 parse-options.h:141
+msgid "time"
+msgstr "thời-gian"
+
+#: builtin/pack-objects.c:2498
+msgid "unpack unreachable objects newer than <time>"
+msgstr ""
+"xả nén (gỡ khỏi gói) các đối tượng không thể đọc được mới hơn <thời-gian>"
+
+#: builtin/pack-objects.c:2501
+msgid "create thin packs"
+msgstr "tạo gói nhẹ"
+
+#: builtin/pack-objects.c:2503
+msgid "ignore packs that have companion .keep file"
+msgstr "bỏ qua các gói mà nó có tập tin .keep đi kèm"
+
+#: builtin/pack-objects.c:2505
+msgid "pack compression level"
+msgstr "mức nén gói"
+
+#: builtin/pack-objects.c:2507
+msgid "do not hide commits by grafts"
+msgstr "không ẩn các lần chuyển giao bởi “grafts”"
+
+#: builtin/pack-refs.c:6
+msgid "git pack-refs [options]"
+msgstr "git pack-refs [các-tùy-chọn]"
+
+#: builtin/pack-refs.c:14
+msgid "pack everything"
+msgstr "đóng gói mọi thứ"
+
+#: builtin/pack-refs.c:15
+msgid "prune loose refs (default)"
+msgstr "prune (cắt cụt) những tham chiếu (refs) bị mất (mặc định)"
+
+#: builtin/prune-packed.c:7
+msgid "git prune-packed [-n|--dry-run] [-q|--quiet]"
+msgstr "git prune-packed [-n|--dry-run] [-q|--quiet]"
+
+#: builtin/prune.c:12
+msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
+msgstr "git prune [-n] [-v] [--expire <thời-gian>] [--] [<head>...]"
+
+#: builtin/prune.c:132
+msgid "do not remove, show only"
+msgstr "không gỡ bỏ, chỉ hiển thị"
+
+#: builtin/prune.c:133
+msgid "report pruned objects"
+msgstr "báo cáo các đối tượng đã prune"
+
+#: builtin/prune.c:136
+msgid "expire objects older than <time>"
+msgstr "các đối tượng hết hạn cũ hơn khoảng <thời gian>"
+
+#: builtin/push.c:14
+msgid "git push [<options>] [<repository> [<refspec>...]]"
+msgstr "git push [<các-tùy-chọn>] [<kho-chứa> [<refspec>...]]"
 
 #: builtin/push.c:45
 msgid "tag shorthand without <tag>"
@@ -3944,7 +6866,8 @@ msgid ""
 "To choose either option permanently, see push.default in 'git help config'."
 msgstr ""
 "\n"
-"Để chọn mỗi tùy chọn một cách cố định, xem push.default trong 'git help config'."
+"Để chọn mỗi tùy chọn một cách cố định, xem push.default trong “git help "
+"config”."
 
 #: builtin/push.c:102
 #, c-format
@@ -3960,8 +6883,8 @@ msgid ""
 "    git push %s %s\n"
 "%s"
 msgstr ""
-"Nhánh dòng ngược (upstream) của nhánh hiện tại của bạn không khớp\n"
-"với tên của nhánh hiện tại của bạn.  Để push đến nhánh dòng ngược\n"
+"Nhánh thượng nguồn (upstream) của nhánh hiện tại của bạn không khớp\n"
+"với tên của nhánh hiện tại của bạn.  Để push đến nhánh thượng nguồn\n"
 "trên máy chủ, sử dụng\n"
 "\n"
 "    git push %s HEAD:%s\n"
@@ -3994,15 +6917,16 @@ msgid ""
 "\n"
 "    git push --set-upstream %s %s\n"
 msgstr ""
-"Nhánh hiện tại %s không có nhánh dòng ngược (upstream) nào.\n"
-"Để push (đẩy lên) nhánh hiện tại và đặt máy chủ như là dòng ngược (upstream), sử dụng\n"
+"Nhánh hiện tại %s không có nhánh thượng nguồn (upstream) nào.\n"
+"Để push (đẩy lên) nhánh hiện tại và đặt máy chủ như là thượng nguồn "
+"(upstream), sử dụng\n"
 "\n"
 "    git push --set-upstream %s %s\n"
 
 #: builtin/push.c:136
 #, c-format
 msgid "The current branch %s has multiple upstream branches, refusing to push."
-msgstr "Nhánh hiện tại %s có đa nhánh dòng ngược (upstream), từ chối push."
+msgstr "Nhánh hiện tại %s có đa nhánh thượng nguồn (upstream), từ chối push."
 
 #: builtin/push.c:139
 #, c-format
@@ -4011,15 +6935,52 @@ msgid ""
 "your current branch '%s', without telling me what to push\n"
 "to update which remote branch."
 msgstr ""
-"Bạn đang push (đẩy lên) máy chủ '%s', mà nó không phải là dòng ngược (upstream) của\n"
-"nhánh hiện tại '%s' của bạn, mà không báo cho tôi biết là cái gì được push\n"
+"Bạn đang push (đẩy lên) máy chủ “%s”, mà nó không phải là thượng nguồn "
+"(upstream) của\n"
+"nhánh hiện tại “%s” của bạn, mà không báo cho tôi biết là cái gì được push\n"
 "để cập nhật nhánh máy chủ nào."
 
-#: builtin/push.c:174
-msgid "You didn't specify any refspecs to push, and push.default is \"nothing\"."
-msgstr "Bạn đã không chỉ ra một refspecs nào để push, và push.default là \"không là gì cả\"."
+#: builtin/push.c:151
+msgid ""
+"push.default is unset; its implicit value is changing in\n"
+"Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
+"and maintain the current behavior after the default changes, use:\n"
+"\n"
+"  git config --global push.default matching\n"
+"\n"
+"To squelch this message and adopt the new behavior now, use:\n"
+"\n"
+"  git config --global push.default simple\n"
+"\n"
+"See 'git help config' and search for 'push.default' for further "
+"information.\n"
+"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
+"'current' instead of 'simple' if you sometimes use older versions of Git)"
+msgstr ""
+"biến push.default chưa được đặt; giá trị ngầm định của nó\n"
+"đã được thay đổi trong Git 2.0 từ “matching” thành “simple”.\n"
+"Để không hiển thị nhắc nhở này và duy trì cách xử lý sau\n"
+"những thay đổi mặc định này, hãy chạy lệnh:\n"
+"\n"
+"  git config --global push.default matching\n"
+"\n"
+"Để không hiển thị nhắc nhở này và áp dụng cách xử lý mới, hãy chạy lệnh:\n"
+"\n"
+"  git config --global push.default simple\n"
+"\n"
+"Xem “git help config” và tìm đến “push.default” để có thêm thông tin.\n"
+"(chế độ “simple” được bắt đầu sử dụng từ Git 1.7.11. Sử dụng chế độ tương "
+"tự\n"
+"“current” thay vì “simple” nếu bạn thỉnh thoảng phải sử dụng bản Git cũ)"
+
+#: builtin/push.c:199
+msgid ""
+"You didn't specify any refspecs to push, and push.default is \"nothing\"."
+msgstr ""
+"Bạn đã không chỉ ra một refspecs nào để push, và push.default là \"không là "
+"gì cả\"."
 
-#: builtin/push.c:181
+#: builtin/push.c:206
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Merge the remote changes (e.g. 'git pull')\n"
@@ -4027,23 +6988,28 @@ msgid ""
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
 "Việc cập nhật bị từ chối bởi vì đầu mút của nhánh được push nằm đằng sau bộ\n"
-"phận tương ứng của máy chủ. Hòa trộn với các thay đổi từ máy chủ (v.d. 'git pull')\n"
+"phận tương ứng của máy chủ. Hòa trộn với các thay đổi từ máy chủ (v.d. “git "
+"pull”)\n"
 "trước khi lại push lần nữa.\n"
-"Xem trong phần 'Note about fast-forwards' trong nội dung từ lệnh 'git push --help'."
+"Xem trong phần “Note about fast-forwards” từ lệnh “git push --help” để có "
+"thông tin chi tiết."
 
-#: builtin/push.c:187
+#: builtin/push.c:212
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. If you did not intend to push that branch, you may want to\n"
-"specify branches to push or set the 'push.default' configuration\n"
-"variable to 'current' or 'upstream' to push only the current branch."
+"specify branches to push or set the 'push.default' configuration variable\n"
+"to 'simple', 'current' or 'upstream' to push only the current branch."
 msgstr ""
 "Việc cập nhật bị từ chối bởi vì đầu mút của nhánh được push nằm đằng sau bộ\n"
-"phận tương ứng của máy chủ. Nếu bạn không có ý định push nhánh đó, bạn có lẽ muốn\n"
-"chỉ định các nhánh để push hoặt là đặt nội dung cho biến cấu hình 'push.default'\n"
-"thành 'current' hoặc 'upstream' để push chỉ nhánh hiện hành mà thôi."
-
-#: builtin/push.c:193
+"phận tương ứng của máy chủ. Nếu bạn không có ý định push nhánh đó, bạn có lẽ "
+"muốn\n"
+"chỉ định các nhánh để push hoặt là đặt nội dung cho biến cấu hình “push."
+"default”\n"
+"thành “simple”, “current” hoặc “upstream” để chỉ push nhánh hiện hành mà "
+"thôi."
+
+#: builtin/push.c:218
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. Check out this branch and merge the remote changes\n"
@@ -4051,29 +7017,32 @@ msgid ""
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
 "Việc cập nhật bị từ chối bởi vì đầu mút của nhánh được push nằm đằng sau bộ\n"
-"phận tương ứng của máy chủ. Checkou nhánh này và hòa trộn với các thay đổi từ máy chủ\n"
-"(v.d. 'git pull') trước khi lại push lần nữa.\n"
-"Xem trong phần 'Note about fast-forwards' trong nội dung từ lệnh 'git push --help'."
+"phận tương ứng của máy chủ. Checkou nhánh này và hòa trộn với các thay đổi "
+"từ máy chủ\n"
+"(v.d. “git pull”) trước khi lại push lần nữa.\n"
+"Xem trong phần “Note about fast-forwards” từ lệnh “git push --help” để có "
+"thông tin chi tiết."
 
-#: builtin/push.c:233
+#: builtin/push.c:258
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "Đang push (đẩy) lên %s\n"
 
-#: builtin/push.c:237
+#: builtin/push.c:262
 #, c-format
 msgid "failed to push some refs to '%s'"
-msgstr "gặp lỗi khi push (đẩy lên) một số tham chiếu (ref) đến '%s'"
+msgstr "gặp lỗi khi push (đẩy lên) một số tham chiếu (ref) đến “%s”"
 
-#: builtin/push.c:269
+#: builtin/push.c:294
 #, c-format
 msgid "bad repository '%s'"
-msgstr "repository (kho) sai '%s'"
+msgstr "repository (kho) sai “%s”"
 
-#: builtin/push.c:270
+#: builtin/push.c:295
 msgid ""
 "No configured push destination.\n"
-"Either specify the URL from the command-line or configure a remote repository using\n"
+"Either specify the URL from the command-line or configure a remote "
+"repository using\n"
 "\n"
 "    git remote add <name> <url>\n"
 "\n"
@@ -4090,34 +7059,237 @@ msgstr ""
 "\n"
 "    git push <tên>\n"
 
-#: builtin/push.c:285
+#: builtin/push.c:310
 msgid "--all and --tags are incompatible"
 msgstr "--all và --tags xung khắc nhau"
 
-#: builtin/push.c:286
+#: builtin/push.c:311
 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:291
+#: builtin/push.c:316
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror và --tags xung khắc nhau"
 
-#: builtin/push.c:292
+#: builtin/push.c:317
 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:297
+#: builtin/push.c:322
 msgid "--all and --mirror are incompatible"
 msgstr "--all và --mirror xung khắc nhau"
 
-#: builtin/push.c:385
+#: builtin/push.c:382
+msgid "repository"
+msgstr "kho"
+
+#: builtin/push.c:383
+msgid "push all refs"
+msgstr "push tất cả refs"
+
+#: builtin/push.c:384
+msgid "mirror all refs"
+msgstr "mirror tất cả refs"
+
+#: builtin/push.c:386
+msgid "delete refs"
+msgstr "xóa refs"
+
+#: builtin/push.c:387
+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
+msgid "force updates"
+msgstr "ép buộc cập nhật"
+
+#: builtin/push.c:391
+msgid "check"
+msgstr "kiểm tra"
+
+#: builtin/push.c:392
+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
+msgid "use thin pack"
+msgstr "tạo gói nhẹ"
+
+#: builtin/push.c:395 builtin/push.c:396
+msgid "receive pack program"
+msgstr "nhận về chương trình pack"
+
+#: builtin/push.c:397
+msgid "set upstream for git pull/status"
+msgstr "đặt thượng nguồn (upstream) cho git pull/status"
+
+#: builtin/push.c:400
+msgid "prune locally removed refs"
+msgstr "prune (cắt cụt) những tham chiếu (refs) bị gỡ bỏ"
+
+#: builtin/push.c:410
 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:387
+#: builtin/push.c:412
 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"
 
+#: builtin/read-tree.c:36
+msgid ""
+"git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] "
+"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
+"index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
+msgstr ""
+"git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<tiền-"
+"tố>] [-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] "
+"[--index-output=<tập-tin>] (--empty | <tree-ish1> [<tree-ish2> [<tree-"
+"ish3>]])"
+
+#: builtin/read-tree.c:108
+msgid "write resulting index to <file>"
+msgstr "ghi mục lục kết quả vào <tập-tin>"
+
+#: builtin/read-tree.c:111
+msgid "only empty the index"
+msgstr "chỉ với bảng mục lục trống rỗng"
+
+#: builtin/read-tree.c:113
+msgid "Merging"
+msgstr "Hòa trộn"
+
+#: builtin/read-tree.c:115
+msgid "perform a merge in addition to a read"
+msgstr "thực hiện một hòa trộn thêm vào việc đọc"
+
+#: builtin/read-tree.c:117
+msgid "3-way merge if no file level merging required"
+msgstr ""
+"hòa trộn kiểu “3-way” nếu không có tập tin mức hòa trộn nào được yêu cầu "
+
+#: builtin/read-tree.c:119
+msgid "3-way merge in presence of adds and removes"
+msgstr "hòa trộn 3-way trong sự hiện diện của “adds” và “removes”"
+
+#: builtin/read-tree.c:121
+msgid "same as -m, but discard unmerged entries"
+msgstr "giống với -m, nhưng bỏ qua các mục chưa được hòa trộn"
+
+#: builtin/read-tree.c:122
+msgid "<subdirectory>/"
+msgstr "<thư-mục-con>/"
+
+#: builtin/read-tree.c:123
+msgid "read the tree into the index under <subdirectory>/"
+msgstr "đọc cây vào trong bảng mục lục dưới <thư_mục_con>/"
+
+#: builtin/read-tree.c:126
+msgid "update working tree with merge result"
+msgstr "cập nhật cây làm việc với kết quả hòa trộn"
+
+#: builtin/read-tree.c:128
+msgid "gitignore"
+msgstr "gitignore"
+
+#: builtin/read-tree.c:129
+msgid "allow explicitly ignored files to be overwritten"
+msgstr "cho phép các tập tin rõ ràng bị lờ đi được ghi đè"
+
+#: builtin/read-tree.c:132
+msgid "don't check the working tree after merging"
+msgstr "không kiểm tra cây làm việc sau hòa trộn"
+
+#: builtin/read-tree.c:133
+msgid "don't update the index or the work tree"
+msgstr "không cập nhật bảng mục lục hay cây làm việc"
+
+#: builtin/read-tree.c:135
+msgid "skip applying sparse checkout filter"
+msgstr "bỏ qua áp dụng bộ lọc lấy ra (checkout) thưa thớt"
+
+#: builtin/read-tree.c:137
+msgid "debug unpack-trees"
+msgstr "gỡ lỗi unpack-trees"
+
+#: builtin/remote.c:11
+msgid "git remote [-v | --verbose]"
+msgstr "git remote [-v | --verbose]"
+
+#: builtin/remote.c:12
+msgid ""
+"git remote add [-t <branch>] [-m <master>] [-f] [--tags|--no-tags] [--"
+"mirror=<fetch|push>] <name> <url>"
+msgstr ""
+"git remote add [-t <nhánh>] [-m <master>] [-f] [--tags|--no-tags] [--"
+"mirror=<fetch|push>] <tên> <url>"
+
+#: builtin/remote.c:13 builtin/remote.c:32
+msgid "git remote rename <old> <new>"
+msgstr "git remote rename <tên-cũ> <tên-mới>"
+
+#: builtin/remote.c:14 builtin/remote.c:37
+msgid "git remote remove <name>"
+msgstr "git remote remove <tên>"
+
+#: builtin/remote.c:15 builtin/remote.c:42
+msgid "git remote set-head <name> (-a | -d | <branch>)"
+msgstr "git remote set-head <tên> (-a | -d | <nhánh>)"
+
+#: builtin/remote.c:16
+msgid "git remote [-v | --verbose] show [-n] <name>"
+msgstr "git remote [-v | --verbose] show [-n] <tên>"
+
+#: builtin/remote.c:17
+msgid "git remote prune [-n | --dry-run] <name>"
+msgstr "git remote prune [-n | --dry-run] <tên>"
+
+#: builtin/remote.c:18
+msgid ""
+"git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
+msgstr ""
+"git remote [-v | --verbose] update [-p | --prune] [(<nhóm> | <máy-chủ>)...]"
+
+#: builtin/remote.c:19
+msgid "git remote set-branches [--add] <name> <branch>..."
+msgstr "git remote set-branches [--add] <tên> <nhánh>..."
+
+#: builtin/remote.c:20 builtin/remote.c:68
+msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
+msgstr "git remote set-url [--push] <tên> <url-mới> [<url-cũ>]"
+
+#: builtin/remote.c:21 builtin/remote.c:69
+msgid "git remote set-url --add <name> <newurl>"
+msgstr "git remote set-url --add <tên> <url-mới>"
+
+#: builtin/remote.c:22 builtin/remote.c:70
+msgid "git remote set-url --delete <name> <url>"
+msgstr "git remote set-url --delete <tên> <url>"
+
+#: builtin/remote.c:27
+msgid "git remote add [<options>] <name> <url>"
+msgstr "git remote add [<các-tùy-chọn>] <tên> <url>"
+
+#: builtin/remote.c:47
+msgid "git remote set-branches <name> <branch>..."
+msgstr "git remote set-branches <tên> <nhánh>..."
+
+#: builtin/remote.c:48
+msgid "git remote set-branches --add <name> <branch>..."
+msgstr "git remote set-branches --add <tên> <nhánh>..."
+
+#: builtin/remote.c:53
+msgid "git remote show [<options>] <name>"
+msgstr "git remote show [<các-tùy-chọn>] <tên>"
+
+#: builtin/remote.c:58
+msgid "git remote prune [<options>] <name>"
+msgstr "git remote prune [<các-tùy-chọn>] <tên>"
+
+#: builtin/remote.c:63
+msgid "git remote update [<options>] [<group> | <remote>]..."
+msgstr "git remote update [<các-tùy-chọn>] [<nhóm> | <máy-chủ>]..."
+
 #: builtin/remote.c:98
 #, c-format
 msgid "Updating %s"
@@ -4136,30 +7308,57 @@ msgstr ""
 msgid "unknown mirror argument: %s"
 msgstr "không hiểu tham số máy bản sao (mirror): %s"
 
+#: builtin/remote.c:163
+msgid "fetch the remote branches"
+msgstr "lấy về (fetch) các nhánh từ máy chủ"
+
+#: builtin/remote.c:165
+msgid "import all tags and associated objects when fetching"
+msgstr ""
+"nhập vào tất cả các đối tượng thẻ và thành phần liên quan khi lấy về (fetch)"
+
+#: builtin/remote.c:168
+msgid "or do not fetch any tag at all (--no-tags)"
+msgstr "hoặc không lấy về (fetch) bất kỳ thẻ nào (--no-tags)"
+
+#: builtin/remote.c:170
+msgid "branch(es) to track"
+msgstr "các nhánh theo vết"
+
+#: builtin/remote.c:171
+msgid "master branch"
+msgstr "nhánh master"
+
+#: builtin/remote.c:172
+msgid "push|fetch"
+msgstr "push|fetch"
+
+#: builtin/remote.c:173
+msgid "set up remote as a mirror to push to or fetch from"
+msgstr "đặt máy chủ (remote) như là một máy bản sao để push hay fetch từ đó"
+
 #: builtin/remote.c:185
 msgid "specifying a master branch makes no sense with --mirror"
-msgstr "đang chỉ định một nhánh master không phân biệt HOA/thường với tùy chọn --mirror"
+msgstr "đang chỉ định một nhánh master không hợp lý với tùy chọn --mirror"
 
 #: builtin/remote.c:187
 msgid "specifying branches to track makes sense only with fetch mirrors"
-msgstr "chỉ định những nhánh để theo vết chỉ hợp lý với các 'fetch mirror'"
+msgstr "chỉ định những nhánh để theo vết chỉ hợp lý với các “fetch mirror”"
 
-#: builtin/remote.c:195
-#: builtin/remote.c:646
+#: builtin/remote.c:195 builtin/remote.c:646
 #, c-format
 msgid "remote %s already exists."
 msgstr "máy chủ %s đã tồn tại rồi."
 
-#: builtin/remote.c:199
-#: builtin/remote.c:650
+#: builtin/remote.c:199 builtin/remote.c:650
 #, c-format
 msgid "'%s' is not a valid remote name"
-msgstr "'%s' không phải tên máy chủ hợp lệ"
+msgstr "“%s” không phải tên máy chủ hợp lệ"
 
 #: builtin/remote.c:243
 #, c-format
 msgid "Could not setup master '%s'"
-msgstr "Không thể cài đặt nhánh master '%s'"
+msgstr "Không thể cài đặt nhánh master “%s”"
 
 #: builtin/remote.c:299
 #, c-format
@@ -4171,8 +7370,7 @@ msgstr "nhiều hơn một %s"
 msgid "Could not get fetch map for refspec %s"
 msgstr "Không thể lấy ánh xạ (map) fetch cho refspec %s"
 
-#: builtin/remote.c:440
-#: builtin/remote.c:448
+#: builtin/remote.c:440 builtin/remote.c:448
 msgid "(matching)"
 msgstr "(mẫu)"
 
@@ -4180,16 +7378,12 @@ msgstr "(mẫu)"
 msgid "(delete)"
 msgstr "(xoá)"
 
-#: builtin/remote.c:595
-#: builtin/remote.c:601
-#: builtin/remote.c:607
+#: builtin/remote.c:595 builtin/remote.c:601 builtin/remote.c:607
 #, c-format
 msgid "Could not append '%s' to '%s'"
-msgstr "Không thể nối thêm '%s' vào '%s'"
+msgstr "Không thể nối thêm “%s” vào “%s”"
 
-#: builtin/remote.c:639
-#: builtin/remote.c:792
-#: builtin/remote.c:890
+#: builtin/remote.c:639 builtin/remote.c:792 builtin/remote.c:890
 #, c-format
 msgid "No such remote: %s"
 msgstr "Không có máy chủ nào như thế: %s"
@@ -4197,13 +7391,12 @@ msgstr "Không có máy chủ nào như thế: %s"
 #: builtin/remote.c:656
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
-msgstr "Không thể đổi tên chương (section) cấu hình từ '%s' thành '%s'"
+msgstr "Không thể đổi tên chương (section) cấu hình từ “%s” thành “%s”"
 
-#: builtin/remote.c:662
-#: builtin/remote.c:799
+#: builtin/remote.c:662 builtin/remote.c:799
 #, c-format
 msgid "Could not remove config section '%s'"
-msgstr "Không thể gỡ bỏ chương (section) cấu hình '%s'"
+msgstr "Không thể gỡ bỏ chương (section) cấu hình “%s”"
 
 #: builtin/remote.c:677
 #, c-format
@@ -4212,19 +7405,19 @@ msgid ""
 "\t%s\n"
 "\tPlease update the configuration manually if necessary."
 msgstr ""
-"Không cập nhật 'non-default fetch respec'\n"
+"Không cập nhật “non-default fetch respec”\n"
 "\t%s\n"
 "\tXin hãy cập nhật phần cấu hình một cách thủ công nếu thấy cần thiết."
 
 #: builtin/remote.c:683
 #, c-format
 msgid "Could not append '%s'"
-msgstr "Không thể nối thêm '%s'"
+msgstr "Không thể nối thêm “%s”"
 
 #: builtin/remote.c:694
 #, c-format
 msgid "Could not set '%s'"
-msgstr "Không thể đặt '%s'"
+msgstr "Không thể đặt “%s”"
 
 #: builtin/remote.c:716
 #, c-format
@@ -4239,7 +7432,7 @@ msgstr "tạo %s gặp lỗi"
 #: builtin/remote.c:764
 #, c-format
 msgid "Could not remove branch %s"
-msgstr "Không thể gỡ nhánh %s"
+msgstr "Không thể gỡ bỏ nhánh %s"
 
 #: builtin/remote.c:834
 msgid ""
@@ -4252,7 +7445,8 @@ msgstr[0] ""
 "Chú ý: Một nhánh nằm ngoài hệ thống refs/remotes/ đã không được gỡ bỏ đi;\n"
 "để xóa đi, sử dụng:"
 msgstr[1] ""
-"Chú ý: Một số nhánh nằm ngoài hệ thống refs/remotes/ đã không được gỡ bỏ đi;\n"
+"Chú ý: Một số nhánh nằm ngoài hệ thống refs/remotes/ đã không được gỡ bỏ "
+"đi;\n"
 "để xóa đi, sử dụng:"
 
 #: builtin/remote.c:943
@@ -4262,11 +7456,11 @@ msgstr " mới (lần lấy về tiếp theo sẽ lưu trong remotes/%s)"
 
 #: builtin/remote.c:946
 msgid " tracked"
-msgstr " bị theo vết"
+msgstr " được theo vết"
 
 #: builtin/remote.c:948
 msgid " stale (use 'git remote prune' to remove)"
-msgstr " cũ (sử dụng 'git remote prune' để gỡ bỏ)"
+msgstr " cũ (dùng “git remote prune” để gỡ bỏ)"
 
 #: builtin/remote.c:950
 msgid " ???"
@@ -4294,7 +7488,7 @@ msgstr "    và với máy chủ"
 #: builtin/remote.c:1004
 #, c-format
 msgid "merges with remote %s"
-msgstr "hòa trộn với máy chủ  %s"
+msgstr "hòa trộn với máy chủ %s"
 
 #: builtin/remote.c:1005
 msgid "   and with remote"
@@ -4340,6 +7534,10 @@ msgstr "    %-*s ép buộc thành %s"
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s push tới %s"
 
+#: builtin/remote.c:1091
+msgid "do not query remotes"
+msgstr "không truy vấn các máy chủ"
+
 #: builtin/remote.c:1118
 #, c-format
 msgid "* remote %s"
@@ -4350,28 +7548,25 @@ msgstr "* máy chủ %s"
 msgid "  Fetch URL: %s"
 msgstr "  URL để lấy về (fetch): %s"
 
-#: builtin/remote.c:1120
-#: builtin/remote.c:1285
+#: builtin/remote.c:1120 builtin/remote.c:1285
 msgid "(no URL)"
-msgstr "(không có URL nào)"
+msgstr "(không có URL)"
 
-#: builtin/remote.c:1129
-#: builtin/remote.c:1131
+#: builtin/remote.c:1129 builtin/remote.c:1131
 #, c-format
 msgid "  Push  URL: %s"
-msgstr "  URL để đẩy lên (push)  : %s"
+msgstr "  URL để đẩy lên (push): %s"
 
-#: builtin/remote.c:1133
-#: builtin/remote.c:1135
-#: builtin/remote.c:1137
+#: builtin/remote.c:1133 builtin/remote.c:1135 builtin/remote.c:1137
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  Nhánh HEAD: %s"
 
 #: builtin/remote.c:1139
 #, c-format
-msgid "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
-msgstr "  nhánh HEAD (HEAD máy chủ là không rõ ràng, có lẽ là một trong số sau):\n"
+msgid ""
+"  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
+msgstr "  nhánh HEAD (HEAD máy chủ chưa rõ ràng, có lẽ là một trong số sau):\n"
 
 #: builtin/remote.c:1151
 #, c-format
@@ -4380,27 +7575,34 @@ msgid_plural "  Remote branches:%s"
 msgstr[0] "  Nhánh trên máy chủ:%s"
 msgstr[1] "  Những nhánh trên máy chủ:%s"
 
-#: builtin/remote.c:1154
-#: builtin/remote.c:1181
+#: builtin/remote.c:1154 builtin/remote.c:1181
 msgid " (status not queried)"
 msgstr " (trạng thái không được yêu cầu)"
 
 #: builtin/remote.c:1163
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
-msgstr[0] "  Nhánh nội bộ đã được cấu hình cho lệnh 'git pull':"
-msgstr[1] "  Những nhánh nội bộ đã được cấu hình cho lệnh 'git pull':"
+msgstr[0] "  Nhánh nội bộ đã được cấu hình cho lệnh “git pull”:"
+msgstr[1] "  Những nhánh nội bộ đã được cấu hình cho lệnh “git pull”:"
 
 #: builtin/remote.c:1171
 msgid "  Local refs will be mirrored by 'git push'"
-msgstr "  refs nội bộ sẽ được phản chiếu bởi lệnh 'git push'"
+msgstr "  refs nội bộ sẽ được phản chiếu bởi lệnh “git push”"
 
 #: builtin/remote.c:1178
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
-msgstr[0] "  Tham chiếu nội bộ được cấu hình cho lệnh 'git push'%s:"
-msgstr[1] "  Những tham chiếu nội bộ được cấu hình cho lệnh 'git push'%s:"
+msgstr[0] "  Tham chiếu nội bộ được cấu hình cho lệnh “git push”%s:"
+msgstr[1] "  Những tham chiếu nội bộ được cấu hình cho lệnh “git push”%s:"
+
+#: builtin/remote.c:1199
+msgid "set refs/remotes/<name>/HEAD according to remote"
+msgstr "đặt refs/remotes/<tên>/HEAD cho phù hợp với máy chủ"
+
+#: builtin/remote.c:1201
+msgid "delete refs/remotes/<name>/HEAD"
+msgstr "xóa refs/remotes/<tên>/HEAD"
 
 #: builtin/remote.c:1216
 msgid "Cannot determine remote HEAD"
@@ -4428,12 +7630,12 @@ msgstr "Không thể cài đặt %s"
 #: builtin/remote.c:1274
 #, c-format
 msgid " %s will become dangling!"
-msgstr " %s sẽ trở thành lủng lẳng (không được quản lý)!"
+msgstr " %s sẽ trở thành không đầu (không được quản lý)!"
 
 #: builtin/remote.c:1275
 #, c-format
 msgid " %s has become dangling!"
-msgstr " %s phải trở thành lủng lẳng (không được quản lý)!"
+msgstr " %s đã trở thành không đầu (không được quản lý)!"
 
 #: builtin/remote.c:1281
 #, c-format
@@ -4455,16 +7657,35 @@ msgstr " * [nên xén bớt] %s"
 msgid " * [pruned] %s"
 msgstr " *[đã xén bớ] %s"
 
-#: builtin/remote.c:1387
-#: builtin/remote.c:1461
+#: builtin/remote.c:1321
+msgid "prune remotes after fetching"
+msgstr "cắt máy chủ sau khi lấy về"
+
+#: builtin/remote.c:1387 builtin/remote.c:1461
 #, c-format
 msgid "No such remote '%s'"
-msgstr "Không có máy chủ nào có tên '%s'"
+msgstr "Không có máy chủ nào có tên “%s”"
+
+#: builtin/remote.c:1407
+msgid "add branch"
+msgstr "thêm nhánh"
 
 #: builtin/remote.c:1414
 msgid "no remote specified"
 msgstr "chưa chỉ ra máy chủ nào"
 
+#: builtin/remote.c:1436
+msgid "manipulate push URLs"
+msgstr "đẩy các “URL” bằng tay"
+
+#: builtin/remote.c:1438
+msgid "add URL"
+msgstr "thêm URL"
+
+#: builtin/remote.c:1440
+msgid "delete URLs"
+msgstr "xóa URLs"
+
 #: builtin/remote.c:1447
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete không hợp lý"
@@ -4483,6 +7704,56 @@ msgstr "Không tìm thấy URL như vậy: %s"
 msgid "Will not delete all non-push URLs"
 msgstr "Sẽ không xóa những địa chỉ URL không-push"
 
+#: builtin/remote.c:1569
+msgid "be verbose; must be placed before a subcommand"
+msgstr "chi tiết; phải được đặt trước một lệnh-con"
+
+#: builtin/replace.c:17
+msgid "git replace [-f] <object> <replacement>"
+msgstr "git replace [-f] <đối-tượng> <thay-thế>"
+
+#: builtin/replace.c:18
+msgid "git replace -d <object>..."
+msgstr "git replace -d <đối tượng>..."
+
+#: builtin/replace.c:19
+msgid "git replace -l [<pattern>]"
+msgstr "git replace -l [<mẫu>]"
+
+#: builtin/replace.c:121
+msgid "list replace refs"
+msgstr "liệt kê các refs thay thế"
+
+#: builtin/replace.c:122
+msgid "delete replace refs"
+msgstr "xóa tham chiếu (refs) thay thế"
+
+#: builtin/replace.c:123
+msgid "replace the ref if it exists"
+msgstr "thay thế tham chiếu (ref) nếu nó đã sẵn có"
+
+#: builtin/rerere.c:11
+msgid "git rerere [clear | forget path... | status | remaining | diff | gc]"
+msgstr "git rerere [clear | forget path... | status | remaining | diff | gc]"
+
+#: builtin/rerere.c:56
+msgid "register clean resolutions in index"
+msgstr "sổ ghi dọn sạch các phân giải trong bản mục lục"
+
+#: builtin/reset.c:25
+msgid ""
+"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
+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>..."
+
+#: builtin/reset.c:27
+msgid "git reset --patch [<commit>] [--] [<paths>...]"
+msgstr "git reset --patch [<commit>] [--] [<các-đường-dẫn>...]"
+
 #: builtin/reset.c:33
 msgid "mixed"
 msgstr "pha trộn"
@@ -4538,98 +7809,455 @@ msgstr "Những thay đổi bị bỏ trạng thái (stage) sau khi reset:"
 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:297
+#: builtin/reset.c:238
+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
+msgid "reset HEAD and index"
+msgstr "đặt lại (reset) HEAD và bảng mục lục"
+
+#: builtin/reset.c:241
+msgid "reset only HEAD"
+msgstr "chỉ đặt lại (reset) HEAD"
+
+#: builtin/reset.c:243 builtin/reset.c:245
+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
+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
 #, c-format
 msgid "Could not parse object '%s'."
-msgstr "không thể phân tích đối tượng '%s'."
+msgstr "không thể phân tích đối tượng “%s”."
 
-#: builtin/reset.c:302
+#: builtin/reset.c:308
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch xung khắc với --{hard,mixed,soft}"
 
-#: builtin/reset.c:311
+#: builtin/reset.c:317
 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>'."
+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:313
+#: builtin/reset.c:319
 #, 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:325
+#: builtin/reset.c:331
 #, 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:341
+#: builtin/reset.c:347
 #, 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'."
+msgstr "Không thể đặt lại (reset) bảng mục lục thành điểm xét lại “%s”."
+
+#: 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ố"
+
+#: builtin/rev-parse.c:346
+msgid "stop parsing after the first non-option argument"
+msgstr "dừng phân tích sau đối số đầu tiên không có tùy chọn"
+
+#: builtin/rev-parse.c:464
+msgid ""
+"git rev-parse --parseopt [options] -- [<args>...]\n"
+"   or: git rev-parse --sq-quote [<arg>...]\n"
+"   or: git rev-parse [options] [<arg>...]\n"
+"\n"
+"Run \"git rev-parse --parseopt -h\" for more information on the first usage."
+msgstr ""
+"git rev-parse --parseopt [các-tùy-chọn] -- [<đ.số>...]\n"
+"   or: git rev-parse --sq-quote [<đ.số>...]\n"
+"   or: git rev-parse [các-tùy-chọn] [<đ.số>...]\n"
+"\n"
+"Chạy lệnh \"git rev-parse --parseopt -h\" để có thêm thông tin về cách dùng."
+
+#: builtin/revert.c:22
+msgid "git revert [options] <commit-ish>"
+msgstr "git revert [các-tùy-chọn] <commit-ish>"
+
+#: builtin/revert.c:23
+msgid "git revert <subcommand>"
+msgstr "git revert <lệnh-con>"
+
+#: builtin/revert.c:28
+msgid "git cherry-pick [options] <commit-ish>"
+msgstr "git cherry-pick [các-tùy-chọn] <commit-ish>"
+
+#: builtin/revert.c:29
+msgid "git cherry-pick <subcommand>"
+msgstr "git cherry-pick <lệnh-con>"
 
-#: builtin/revert.c:70
-#: builtin/revert.c:92
+#: builtin/revert.c:70 builtin/revert.c:92
 #, c-format
 msgid "%s: %s cannot be used with %s"
 msgstr "%s: %s không thể được sử dụng với %s"
 
-#: builtin/revert.c:131
+#: builtin/revert.c:103
+msgid "end revert or cherry-pick sequence"
+msgstr "kết thúc cherry-pick hay revert liên tiếp nhau"
+
+#: builtin/revert.c:104
+msgid "resume revert or cherry-pick sequence"
+msgstr "phục hồi lại cherry-pick hay revert liên tiếp nhau"
+
+#: builtin/revert.c:105
+msgid "cancel revert or cherry-pick sequence"
+msgstr "không cherry-pick hay revert liên tiếp nhau"
+
+#: builtin/revert.c:106
+msgid "don't automatically commit"
+msgstr "không commit một cách tự động."
+
+#: builtin/revert.c:107
+msgid "edit the commit message"
+msgstr "sửa lại chú thích cho commit"
+
+#: builtin/revert.c:110
+msgid "parent number"
+msgstr "số của cha mẹ"
+
+#: builtin/revert.c:112
+msgid "merge strategy"
+msgstr "chiến lược hòa trộn"
+
+#: builtin/revert.c:113
+msgid "option"
+msgstr "tùy chọn"
+
+#: builtin/revert.c:114
+msgid "option for merge strategy"
+msgstr "tùy chọn cho chiến lược hòa trộn"
+
+#: builtin/revert.c:125
+msgid "append commit name"
+msgstr "nối thêm tên lần chuyển giao (commit)"
+
+#: builtin/revert.c:126
+msgid "allow fast-forward"
+msgstr "cho phép fast-forward"
+
+#: builtin/revert.c:127
+msgid "preserve initially empty commits"
+msgstr "cấm khởi tạo lần chuyển giao trống rỗng"
+
+#: builtin/revert.c:128
+msgid "allow commits with empty messages"
+msgstr "chấp nhận chuyển giao (commit) mà không ghi chú gì"
+
+#: builtin/revert.c:129
+msgid "keep redundant, empty commits"
+msgstr "giữ lại các lần chuyển giao dư thừa, rỗng"
+
+#: builtin/revert.c:133
 msgid "program error"
 msgstr "lỗi chương trình"
 
-#: builtin/revert.c:221
+#: builtin/revert.c:223
 msgid "revert failed"
 msgstr "revert gặp lỗi"
 
-#: builtin/revert.c:236
+#: builtin/revert.c:238
 msgid "cherry-pick failed"
 msgstr "cherry-pick gặp lỗi"
 
-#: builtin/rm.c:109
+#: builtin/rm.c:15
+msgid "git rm [options] [--] <file>..."
+msgstr "git rm [các-tùy-chọn] [--] <tập-tin>..."
+
+#: builtin/rm.c:64 builtin/rm.c:186
+#, c-format
+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 "
+"chúng)"
+
+#: builtin/rm.c:174
 #, c-format
 msgid ""
 "'%s' has staged content different from both the file and the HEAD\n"
 "(use -f to force removal)"
 msgstr ""
-"'%s' có nội dung được lưu trạng thái khác biệt từ cả tập tin và cả HEAD\n"
-"(sử dụng -f để ép buộc gỡ bỏ)"
+"“%s” có nội dung được lưu trạng thái khác biệt từ cả tập tin và cả HEAD\n"
+"(dùng tùy chọn -f để ép buộc gỡ bỏ)"
 
-#: builtin/rm.c:115
+#: builtin/rm.c:180
 #, c-format
 msgid ""
 "'%s' has changes staged in the index\n"
 "(use --cached to keep the file, or -f to force removal)"
 msgstr ""
-"'%s' có các thay đổi được lưu trạng thái trong bảng mục lục\n"
-"(sử dụng --cached để giữ tập tin, hoặc -f để ép buộc gỡ bỏ)"
+"“%s” có các thay đổi được lưu trạng thái trong bảng mục lục\n"
+"(dùng tùy chọn --cached để giữ tập tin, hoặc -f để ép buộc gỡ bỏ)"
 
-#: builtin/rm.c:119
+#: builtin/rm.c:191
 #, c-format
 msgid ""
 "'%s' has local modifications\n"
 "(use --cached to keep the file, or -f to force removal)"
 msgstr ""
-"'%s' có các thay đổi nội bộ\n"
-"(sử dụng --cached để giữ tập tin, hoặc -f để ép buộc gỡ bỏ)"
+"“%s” có các thay đổi nội bộ\n"
+"(dùng tùy chọn --cached để giữ tập tin, hoặc -f để ép buộc gỡ bỏ)"
+
+#: builtin/rm.c:207
+msgid "do not list removed files"
+msgstr "không liệt kê các tập tin đã gỡ bỏ"
+
+#: builtin/rm.c:208
+msgid "only remove from the index"
+msgstr "chỉ gỡ bỏ từ mục lục"
+
+#: builtin/rm.c:209
+msgid "override the up-to-date check"
+msgstr "ghi đè lên kiểm tra cập nhật"
+
+#: builtin/rm.c:210
+msgid "allow recursive removal"
+msgstr "cho phép gỡ bỏ đệ qui"
+
+#: builtin/rm.c:212
+msgid "exit with a zero status even if nothing matched"
+msgstr "thoát ra với trạng thái khác không thậm chí nếu không có gì khớp"
 
-#: builtin/rm.c:194
+#: builtin/rm.c:283
 #, c-format
 msgid "not removing '%s' recursively without -r"
-msgstr "không thể gỡ bỏ '%s' một cách đệ qui mà không có tùy chọn -r"
+msgstr "không thể gỡ bỏ “%s” một cách đệ qui mà không có tùy chọn -r"
 
-#: builtin/rm.c:230
+#: builtin/rm.c:322
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm: không thể gỡ bỏ %s"
 
+#: builtin/shortlog.c:13
+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
 #, c-format
 msgid "Missing author: %s"
 msgstr "Thiếu tên tác giả: %s"
 
+#: builtin/shortlog.c:253
+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
+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
+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
+msgid "w[,i1[,i2]]"
+msgstr "w[,i1[,i2]]"
+
+#: builtin/shortlog.c:259
+msgid "Linewrap output"
+msgstr "Ngắt dòng khi quá dài"
+
+#: builtin/show-branch.c:9
+msgid ""
+"git show-branch [-a|--all] [-r|--remotes] [--topo-order | --date-order] [--"
+"current] [--color[=<when>] | --no-color] [--sparse] [--more=<n> | --list | --"
+"independent | --merge-base] [--no-name | --sha1-name] [--topics] [(<rev> | "
+"<glob>)...]"
+msgstr ""
+"git show-branch [-a|--all] [-r|--remotes] [--topo-order | --date-order] [--"
+"current] [--color[=<khi>] | --no-color] [--sparse] [--more=<n> | --list | --"
+"independent | --merge-base] [--no-name | --sha1-name] [--topics] [(<rev> | "
+"<glob>)...]"
+
+#: builtin/show-branch.c:10
+msgid "git show-branch (-g|--reflog)[=<n>[,<base>]] [--list] [<ref>]"
+msgstr "git show-branch (-g|--reflog)[=<n>[,<nền>]] [--list] [<ref>]"
+
+#: builtin/show-branch.c:651
+msgid "show remote-tracking and local branches"
+msgstr "hiển thị các nhánh remote-tracking và nội bộ"
+
+#: builtin/show-branch.c:653
+msgid "show remote-tracking branches"
+msgstr "hiển thị các nhánh remote-tracking"
+
+#: builtin/show-branch.c:655
+msgid "color '*!+-' corresponding to the branch"
+msgstr "màu “*!+-” tương ứng với nhánh"
+
+#: builtin/show-branch.c:657
+msgid "show <n> more commits after the common ancestor"
+msgstr "hiển thị thêm <n> lần chuyển giao sau cha mẹ chung"
+
+#: builtin/show-branch.c:659
+msgid "synonym to more=-1"
+msgstr "đồng nghĩa với more=-1"
+
+#: builtin/show-branch.c:660
+msgid "suppress naming strings"
+msgstr "chặn các chuỗi đặt tên"
+
+#: builtin/show-branch.c:662
+msgid "include the current branch"
+msgstr "bao gồm nhánh hiện hành"
+
+#: builtin/show-branch.c:664
+msgid "name commits with their object names"
+msgstr "đặt tên các lần chuyển giao bằng các tên của đối tượng của chúng"
+
+#: builtin/show-branch.c:666
+msgid "show possible merge bases"
+msgstr "hiển thị mọi cơ sở có thể dùng để hòa trộn"
+
+#: builtin/show-branch.c:668
+msgid "show refs unreachable from any other ref"
+msgstr "hiển thị các tham chiếu không thể được đọc bởi bất kỳ tham chiếu khác"
+
+#: builtin/show-branch.c:670
+msgid "show commits in topological order"
+msgstr "hiển thị các lần chuyển giao theo thứ tự tôpô"
+
+#: builtin/show-branch.c:672
+msgid "show only commits not on the first branch"
+msgstr "chỉ hiển thị các lần chuyển giao không nằm trên nhánh đầu tiên"
+
+#: builtin/show-branch.c:674
+msgid "show merges reachable from only one tip"
+msgstr "hiển thị các lần hòa trộn có thể đọc được chỉ từ một đầu mút"
+
+#: builtin/show-branch.c:676
+msgid "show commits where no parent comes before its children"
+msgstr "hiển thị các lần chuyển giao nơi mà cha mẹ đến trước con của nó"
+
+#: builtin/show-branch.c:678
+msgid "<n>[,<base>]"
+msgstr "<n>[,<cơ sở>]"
+
+#: builtin/show-branch.c:679
+msgid "show <n> most recent ref-log entries starting at base"
+msgstr "hiển thị <n> các mục “ref-log” gần nhất kể từ nền (base)"
+
+#: builtin/show-ref.c:10
+msgid ""
+"git show-ref [-q|--quiet] [--verify] [--head] [-d|--dereference] [-s|--hash"
+"[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [pattern*] "
+msgstr ""
+"git show-ref [-q|--quiet] [--verify] [--head] [-d|--dereference] [-s|--hash"
+"[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [mẫu*] "
+
+#: builtin/show-ref.c:11
+msgid "git show-ref --exclude-existing[=pattern] < ref-list"
+msgstr "git show-ref --exclude-existing[=mẫu] < ref-list"
+
+#: builtin/show-ref.c:165
+msgid "only show tags (can be combined with heads)"
+msgstr "chỉ hiển thị thẻ (có thể tổ hợp cùng với đầu)"
+
+#: builtin/show-ref.c:166
+msgid "only show heads (can be combined with tags)"
+msgstr "chỉ hiển thị đầu (có thể tổ hợp cùng với thẻ)"
+
+#: builtin/show-ref.c:167
+msgid "stricter reference checking, requires exact ref path"
+msgstr ""
+"việc kiểm tra tham chiếu chính xác, đòi hỏi chính xác đường dẫn tham chiếu "
+"(ref)"
+
+#: builtin/show-ref.c:170 builtin/show-ref.c:172
+msgid "show the HEAD reference"
+msgstr "hiển thị tham chiếu của HEAD"
+
+#: builtin/show-ref.c:174
+msgid "dereference tags into object IDs"
+msgstr "bãi bỏ tham chiếu các thẻ thành ra các ID đối tượng"
+
+#: builtin/show-ref.c:176
+msgid "only show SHA1 hash using <n> digits"
+msgstr "chỉ hiển thị mã băm SHA1 sử dụng <n> chữ số"
+
+#: builtin/show-ref.c:180
+msgid "do not print results to stdout (useful with --verify)"
+msgstr ""
+"không hiển thị kết quả ra đầu ra chuẩn (stdout) (chỉ hữu dụng với --verify)"
+
+#: builtin/show-ref.c:182
+msgid "show refs from stdin that aren't in local repository"
+msgstr ""
+"hiển thị các tham chiếu (refs) từ đầu vào tiêu chuẩn (stdin) cái mà không ở "
+"kho nội bộ"
+
+#: builtin/symbolic-ref.c:7
+msgid "git symbolic-ref [options] name [ref]"
+msgstr "git symbolic-ref  [các-tùy-chọn] tên [t.chiếu]"
+
+#: builtin/symbolic-ref.c:8
+msgid "git symbolic-ref -d [-q] name"
+msgstr "git symbolic-ref -d [-q] tên"
+
+#: builtin/symbolic-ref.c:40
+msgid "suppress error message for non-symbolic (detached) refs"
+msgstr ""
+"chặn các thông tin lỗi cho các tham chiếu (refs) “non-symbolic” (bị tách ra)"
+
+#: builtin/symbolic-ref.c:41
+msgid "delete symbolic ref"
+msgstr "xóa tham chiếu (ref) tượng trưng"
+
+#: builtin/symbolic-ref.c:42
+msgid "shorten ref output"
+msgstr "làm ngắn kết xuất ref (tham chiếu)"
+
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:18
+msgid "reason"
+msgstr "lý do"
+
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:18
+msgid "reason of the update"
+msgstr "lý do cập nhật"
+
+#: builtin/tag.c:22
+msgid ""
+"git tag [-a|-s|-u <key-id>] [-f] [-m <msg>|-F <file>] <tagname> [<head>]"
+msgstr ""
+"git tag [-a|-s|-u <key-id>] [-f] [-m <msg>|-F <tập-tin>] <tên-thẻ> [<head>]"
+
+#: builtin/tag.c:23
+msgid "git tag -d <tagname>..."
+msgstr "git tag -d <tên-thẻ>..."
+
+#: builtin/tag.c:24
+msgid ""
+"git tag -l [-n[<num>]] [--contains <commit>] [--points-at <object>] \n"
+"\t\t[<pattern>...]"
+msgstr ""
+"git tag -l [-n[<num>]] [--contains <commit>] [--points-at <đối-tượng>] \n"
+"\t\t[<mẫu>...]"
+
+#: builtin/tag.c:26
+msgid "git tag -v <tagname>..."
+msgstr "git tag -v <tên-thẻ>..."
+
 #: builtin/tag.c:60
 #, c-format
 msgid "malformed object at '%s'"
-msgstr "đối tượng dị hình tại '%s'"
+msgstr "đối tượng dị hình tại “%s”"
 
 #: builtin/tag.c:207
 #, c-format
@@ -4639,17 +8267,17 @@ msgstr "tên thẻ quá dài: %.*s..."
 #: builtin/tag.c:212
 #, c-format
 msgid "tag '%s' not found."
-msgstr "không tìm thấy tìm thấy thẻ '%s'."
+msgstr "không tìm thấy tìm thấy thẻ “%s”."
 
 #: builtin/tag.c:227
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
-msgstr "Thẻ đã bị xóa '%s' (trước là %s)\n"
+msgstr "Thẻ đã bị xóa “%s” (trước là %s)\n"
 
 #: builtin/tag.c:239
 #, c-format
 msgid "could not verify the tag '%s'"
-msgstr "không thể thẩm tra thẻ '%s'"
+msgstr "không thể thẩm tra thẻ “%s”"
 
 #: builtin/tag.c:249
 msgid ""
@@ -4662,7 +8290,7 @@ 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"
+"# Những dòng được bắt đầu bằng “#” sẽ được bỏ qua.\n"
 "#\n"
 
 #: builtin/tag.c:256
@@ -4670,13 +8298,15 @@ msgid ""
 "\n"
 "#\n"
 "# Write a tag message\n"
-"# Lines starting with '#' will be kept; you may remove them yourself if you want to.\n"
+"# Lines starting with '#' 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 nếu muốn.\n"
+"# Những dòng được bắt đầu bằng “#” sẽ được bỏ qua; bạn có thể xóa chúng đi "
+"nếu muốn.\n"
 "#\n"
 
 #: builtin/tag.c:298
@@ -4706,12 +8336,68 @@ msgstr "Nội dung ghi chú còn lại %s\n"
 
 #: builtin/tag.c:425
 msgid "switch 'points-at' requires an object"
-msgstr "chuyển đến 'points-at' yêu cần một đối tượng"
+msgstr "chuyển đến “points-at” yêu cần một đối tượng"
 
 #: builtin/tag.c:427
 #, c-format
 msgid "malformed object name '%s'"
-msgstr "tên đối tượng dị hình '%s'"
+msgstr "tên đối tượng dị hình “%s”"
+
+#: builtin/tag.c:447
+msgid "list tag names"
+msgstr "chỉ liệt kê tên các thẻ"
+
+#: builtin/tag.c:449
+msgid "print <n> lines of each tag message"
+msgstr "hiển thị <n> dòng cho mỗi ghi chú"
+
+#: builtin/tag.c:451
+msgid "delete tags"
+msgstr "xóa thẻ"
+
+#: builtin/tag.c:452
+msgid "verify tags"
+msgstr "thẩm tra thẻ"
+
+#: builtin/tag.c:454
+msgid "Tag creation options"
+msgstr "Tùy chọn tạo tag"
+
+#: builtin/tag.c:456
+msgid "annotated tag, needs a message"
+msgstr "để chú giải cho thẻ, cần một lời ghi chú"
+
+#: builtin/tag.c:458
+msgid "tag message"
+msgstr "tin nhắn cho thẻ (tag)"
+
+#: builtin/tag.c:460
+msgid "annotated and GPG-signed tag"
+msgstr "thẻ chú giải và ký kiểu GPG"
+
+#: builtin/tag.c:464
+msgid "use another key to sign the tag"
+msgstr "dùng kháo khác để ký thẻ"
+
+#: builtin/tag.c:465
+msgid "replace the tag if exists"
+msgstr "thay thế nếu tag đó đã có trước"
+
+#: builtin/tag.c:466
+msgid "show tag list in columns"
+msgstr "hiển thị danh sách thẻ trong các cột"
+
+#: builtin/tag.c:468
+msgid "Tag listing options"
+msgstr "Các tùy chọn liệt kê thẻ"
+
+#: builtin/tag.c:471
+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
+msgid "print only tags of the object"
+msgstr "chỉ hiển thị các thẻ của đối tượng"
 
 #: builtin/tag.c:506
 msgid "--column and -n are incompatible"
@@ -4740,12 +8426,12 @@ msgstr "quá nhiều đối số"
 #: builtin/tag.c:561
 #, c-format
 msgid "'%s' is not a valid tag name."
-msgstr "'%s' không phải thẻ hợp lệ."
+msgstr "“%s” không phải thẻ hợp lệ."
 
 #: builtin/tag.c:566
 #, c-format
 msgid "tag '%s' already exists"
-msgstr "Thẻ '%s' đã tồn tại rồi"
+msgstr "Thẻ “%s” đã tồn tại rồi"
 
 #: builtin/tag.c:584
 #, c-format
@@ -4760,28 +8446,188 @@ msgstr "%s: không thể cập nhật ref (tham chiếu)"
 #: builtin/tag.c:588
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
-msgstr "Thẻ đã cập nhật '%s' (cũ là %s)\n"
+msgstr "Đã cập nhật thẻ “%s” (trước là %s)\n"
 
-#: git.c:16
-msgid "See 'git help <command>' for more information on a specific command."
-msgstr "Chạy lệnh 'git help <tên-lệnh>' để có thêm thông tin về lệnh được chỉ ra."
+#: builtin/update-index.c:401
+msgid "git update-index [options] [--] [<file>...]"
+msgstr "git update-index [các-tùy-chọn] [<tập-tin>...]"
 
-#: parse-options.h:133
-#: parse-options.h:235
-msgid "n"
-msgstr "n"
+#: builtin/update-index.c:718
+msgid "continue refresh even when index needs update"
+msgstr "tiếp tục làm mới ngay cả khi bảng mục lục cần được cập nhật"
 
-#: parse-options.h:141
-msgid "time"
-msgstr "thời-gian"
+#: builtin/update-index.c:721
+msgid "refresh: ignore submodules"
+msgstr "refresh: lờ đi mô-đun-con"
 
-#: parse-options.h:149
-msgid "file"
-msgstr "tập-tin"
+#: builtin/update-index.c:724
+msgid "do not ignore new files"
+msgstr "không bỏ qua các tập tin mới tạo"
 
-#: parse-options.h:151
-msgid "when"
-msgstr "khi"
+#: builtin/update-index.c:726
+msgid "let files replace directories and vice-versa"
+msgstr "để các tập tin thay thế các thư mục và “vice-versa”"
+
+#: builtin/update-index.c:728
+msgid "notice files missing from worktree"
+msgstr "thông báo các tập-tin thiếu trong thư-mục làm việc"
+
+#: builtin/update-index.c:730
+msgid "refresh even if index contains unmerged entries"
+msgstr ""
+"làm tươi mới thậm chí khi bảng mục lục chứa các mục tin chưa được hòa trộn"
+
+#: builtin/update-index.c:733
+msgid "refresh stat information"
+msgstr "lấy lại thông tin thống kê"
+
+#: builtin/update-index.c:737
+msgid "like --refresh, but ignore assume-unchanged setting"
+msgstr "giống --refresh, nhưng bỏ qua các cài đặt “assume-unchanged”"
+
+#: builtin/update-index.c:741
+msgid "<mode> <object> <path>"
+msgstr "<mode> <đối tượng> <đường dẫn>"
+
+#: builtin/update-index.c:742
+msgid "add the specified entry to the index"
+msgstr "thêm các tập tin đã chỉ ra vào bảng mục lục"
+
+#: builtin/update-index.c:746
+msgid "(+/-)x"
+msgstr "(+/-)x"
+
+#: builtin/update-index.c:747
+msgid "override the executable bit of the listed files"
+msgstr "ghi đè lên bít thi hành của các tập tin được liệt kê"
+
+#: builtin/update-index.c:751
+msgid "mark files as \"not changing\""
+msgstr "Đánh dấu các tập tin là \"không thay đổi\""
+
+#: builtin/update-index.c:754
+msgid "clear assumed-unchanged bit"
+msgstr "xóa bít  assumed-unchanged"
+
+#: builtin/update-index.c:757
+msgid "mark files as \"index-only\""
+msgstr "đánh dấu các tập tin là “chỉ-đọc”"
+
+#: builtin/update-index.c:760
+msgid "clear skip-worktree bit"
+msgstr "xóa bít skip-worktree"
+
+#: builtin/update-index.c:763
+msgid "add to index only; do not add content to object database"
+msgstr ""
+"chỉ thêm vào bảng mục lục; không thêm nội dung vào cơ sở dữ liệu đối tượng"
+
+#: builtin/update-index.c:765
+msgid "remove named paths even if present in worktree"
+msgstr ""
+"gỡ bỏ các đường dẫn được đặt tên thậm chí cả khi nó hiện diện trong thư mục "
+"làm việc"
+
+#: builtin/update-index.c:767
+msgid "with --stdin: input lines are terminated by null bytes"
+msgstr "với tùy chọn --stdin: các dòng đầu vào được chấm dứt bởi ký tự null"
+
+#: builtin/update-index.c:769
+msgid "read list of paths to be updated from standard input"
+msgstr "đọc danh sách đường dẫn cần cập nhật từ đầu vào tiêu chuẩn"
+
+#: builtin/update-index.c:773
+msgid "add entries from standard input to the index"
+msgstr "không thể đọc các mục từ đầu vào tiêu chuẩn vào bảng mục lục"
+
+#: builtin/update-index.c:777
+msgid "repopulate stages #2 and #3 for the listed paths"
+msgstr "phục hồi các trạng thái #2 và #3 cho các đường dẫn được liệt kê"
+
+#: builtin/update-index.c:781
+msgid "only update entries that differ from HEAD"
+msgstr "chỉ cập nhật các mục tin mà nó khác biệt so với HEAD"
+
+#: builtin/update-index.c:785
+msgid "ignore files missing from worktree"
+msgstr "bỏ qua các tập-tin thiếu trong thư-mục làm việc"
+
+#: builtin/update-index.c:788
+msgid "report actions to standard output"
+msgstr "báo cáo các thao tác ra thiết bị xuất chuẩn"
+
+#: builtin/update-index.c:790
+msgid "(for porcelains) forget saved unresolved conflicts"
+msgstr "(cho “porcelains”) quên các xung đột chưa được giải quyết đã ghi"
+
+#: builtin/update-index.c:794
+msgid "write index in this format"
+msgstr "ghi mục lục ở định dạng này"
+
+#: builtin/update-ref.c:7
+msgid "git update-ref [options] -d <refname> [<oldval>]"
+msgstr "git update-ref [các-tùy-chọn] -d <refname> [<biến-cũ>]"
+
+#: builtin/update-ref.c:8
+msgid "git update-ref [options]    <refname> <newval> [<oldval>]"
+msgstr "git update-ref [các-tùy-chọn]    <refname> <biến-mới> [<biến-cũ>]"
+
+#: builtin/update-ref.c:19
+msgid "delete the reference"
+msgstr "xóa tham chiếu"
+
+#: builtin/update-ref.c:21
+msgid "update <refname> not the one it points to"
+msgstr "cập nhật <tên-tham-chiếu> không phải cái nó chỉ tới"
+
+#: builtin/update-server-info.c:6
+msgid "git update-server-info [--force]"
+msgstr "git update-server-info [--force]"
+
+#: builtin/update-server-info.c:14
+msgid "update the info files from scratch"
+msgstr "cập nhật các tập tin thông tin từ điểm xuất phát"
+
+#: builtin/verify-pack.c:56
+msgid "git verify-pack [-v|--verbose] [-s|--stat-only] <pack>..."
+msgstr "git verify-pack [-v|--verbose] [-s|--stat-only] <gói>..."
+
+#: builtin/verify-pack.c:66
+msgid "verbose"
+msgstr "chi tiết"
+
+#: builtin/verify-pack.c:68
+msgid "show statistics only"
+msgstr "chỉ hiển thị thống kê"
+
+#: builtin/verify-tag.c:17
+msgid "git verify-tag [-v|--verbose] <tag>..."
+msgstr "git verify-tag [-v|--verbose] <thẻ>..."
+
+#: builtin/verify-tag.c:73
+msgid "print tag contents"
+msgstr "hiển thị nội dung của thẻ"
+
+#: builtin/write-tree.c:13
+msgid "git write-tree [--missing-ok] [--prefix=<prefix>/]"
+msgstr "git write-tree [--missing-ok] [--prefix=<tiền-tố>/]"
+
+#: builtin/write-tree.c:26
+msgid "<prefix>/"
+msgstr "<iền tố>/"
+
+#: builtin/write-tree.c:27
+msgid "write tree object for a subdirectory <prefix>"
+msgstr "ghi đối tượng cây (tree) cho <tiền tố> thư mục con"
+
+#: builtin/write-tree.c:30
+msgid "only useful for debugging"
+msgstr "chỉ hữu ích khi cần gỡ lỗi"
+
+#: git.c:16
+msgid "See 'git help <command>' for more information on a specific command."
+msgstr ""
+"Chạy lệnh “git help <tên-lệnh>” để có thêm thông tin về lệnh được chỉ ra."
 
 #: parse-options.h:156
 msgid "no-op (backward compatibility)"
@@ -4813,7 +8659,7 @@ msgstr "Liệt kê, tạo hay là xóa các nhánh"
 
 #: common-cmds.h:11
 msgid "Checkout a branch or paths to the working tree"
-msgstr "Checkout một nhánh hay các đường dẫn tời cây làm việc"
+msgstr "Lấy ra (checkout) một nhánh hay các đường dẫn tới cây làm việc"
 
 #: common-cmds.h:12
 msgid "Clone a repository into a new directory"
@@ -4825,7 +8671,9 @@ msgstr "Ghi các thay đổi vào kho chứa"
 
 #: common-cmds.h:14
 msgid "Show changes between commits, commit and working tree, etc"
-msgstr "Hiển thị các thay đổi giữa những lần chuyển giao (commit), commit và cây làm việc, v.v.."
+msgstr ""
+"Hiển thị các thay đổi giữa những lần chuyển giao (commit), commit và cây làm "
+"việc, v.v.."
 
 #: common-cmds.h:15
 msgid "Download objects and refs from another repository"
@@ -4837,15 +8685,18 @@ 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"
-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"
+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"
 
 #: common-cmds.h:18
 msgid "Show commit logs"
-msgstr "hiển thị nhật ký các lần commit (chuyển giao)"
+msgstr "Hiển thị nhật ký các lần chuyển giao (commit)"
 
 #: common-cmds.h:19
 msgid "Join two or more development histories together"
-msgstr "Hợp nhất hai hay nhiều hơn lịch sử của các nhà phát triển phần mềm lại với nhau"
+msgstr ""
+"Hợp nhất hai hay nhiều hơn lịch sử của các nhà phát triển phần mềm lại với "
+"nhau"
 
 #: common-cmds.h:20
 msgid "Move or rename a file, a directory, or a symlink"
@@ -4853,15 +8704,17 @@ msgstr "Di chuyển, đổi tên một tập tin, thư mục hay liên kết tư
 
 #: common-cmds.h:21
 msgid "Fetch from and merge with another repository or a local branch"
-msgstr "Fetch (lấy về) và hòa trộng với kho khác hay nhánh nội bộ"
+msgstr "Lấy về (fetch) và hòa trộn với kho khác hay nhánh nội bộ"
 
 #: common-cmds.h:22
 msgid "Update remote refs along with associated objects"
-msgstr "Cập nhật tham chiếu (refs) máy chủ cùng với các đối tượng liên quan đến nó"
+msgstr ""
+"Cập nhật tham chiếu (refs) máy chủ cùng với các đối tượng liên quan đến nó"
 
 #: common-cmds.h:23
 msgid "Forward-port local commits to the updated upstream head"
-msgstr "Forward-port những lần chuyển giao nội bộ tới head dòng ngược đã cập nhật"
+msgstr ""
+"Forward-port những lần chuyển giao nội bộ tới head thượng nguồn đã cập nhật"
 
 #: common-cmds.h:24
 msgid "Reset current HEAD to the specified state"
@@ -4881,7 +8734,9 @@ msgstr "Hiển thị trạng thái cây làm việc"
 
 #: common-cmds.h:28
 msgid "Create, list, delete or verify a tag object signed with GPG"
-msgstr "Tạo, liệt kê, xóa hay xác thực một đối tượng thẻ (tag) mà nó được ký sử dụng GPG"
+msgstr ""
+"Tạo, liệt kê, xóa hay xác thực một đối tượng thẻ (tag) mà nó được ký sử dụng "
+"GPG"
 
 #: git-am.sh:50
 msgid "You need to set your committer info first"
@@ -4892,27 +8747,34 @@ msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
 msgstr ""
-"Bạn có lẽ đã có HEAD đã bị di chuyển đi kể từ lần 'am' thất bại cuối cùng.\n"
+"Bạn có lẽ đã có HEAD đã bị di chuyển đi kể từ lần “am” thất bại cuối cùng.\n"
 "Không thể chuyển tới ORIG_HEAD"
 
 #: git-am.sh:105
 #, sh-format
 msgid ""
-"When you have resolved this problem run \"$cmdline --resolved\".\n"
-"If you would prefer to skip this patch, instead run \"$cmdline --skip\".\n"
-"To restore the original branch and stop patching run \"$cmdline --abort\"."
+"When you have resolved this problem, run \"$cmdline --resolved\".\n"
+"If you prefer to skip this patch, run \"$cmdline --skip\" instead.\n"
+"To restore the original branch and stop patching, run \"$cmdline --abort\"."
 msgstr ""
 "Khi bạn cần giải quyết vấn đề này hãy chạy lệnh \"$cmdline --resolved\".\n"
-"Nếu bạn có ý định bỏ qua miếng vá, thay vào đó bạn chạy \"$cmdline --skip\".\n"
-"Để phục hồi lại thành nhánh nguyên bản và dừng việc vá lại thì chạy \"$cmdline --abort\"."
+"Nếu bạn có ý định bỏ qua miếng vá, thay vào đó bạn chạy \"$cmdline --skip"
+"\".\n"
+"Để phục hồi lại thành nhánh nguyên thủy và dừng việc vá lại thì chạy "
+"\"$cmdline --abort\"."
 
 #: git-am.sh:121
 msgid "Cannot fall back to three-way merge."
-msgstr "Đang trở lại để hòa trộn kiểu 'three-way'."
+msgstr "Đang trở lại để hòa trộn kiểu “three-way”."
 
 #: git-am.sh:137
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
-msgstr "Kho thiếu đối tượng blob cần thiết để trở về trên '3-way merge'."
+msgstr "Kho thiếu đối tượng blob cần thiết để trở về trên “3-way merge”."
+
+#: git-am.sh:139
+msgid "Using index info to reconstruct a base tree..."
+msgstr ""
+"Sử dụng thông tin trong bảng mục lục để cấu trúc lại một cây (tree) cơ sở..."
 
 #: git-am.sh:154
 msgid ""
@@ -4924,44 +8786,53 @@ msgstr ""
 
 #: git-am.sh:163
 msgid "Falling back to patching base and 3-way merge..."
-msgstr "Đang trở lại để vá cơ sở và '3-way merge'..."
+msgstr "Đang trở lại để vá cơ sở và “3-way merge”..."
+
+#: git-am.sh:179
+msgid "Failed to merge in the changes."
+msgstr "Gặp lỗi khi trộn vào các thay đổi."
 
-#: git-am.sh:275
+#: git-am.sh:274
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "Chỉ có một sê-ri miếng vá StGIT được áp dụng một lúc"
 
-#: git-am.sh:362
+#: git-am.sh:361
 #, sh-format
 msgid "Patch format $patch_format is not supported."
 msgstr "Định dạng miếng vá $patch_format không được hỗ trợ."
 
-#: git-am.sh:364
+#: git-am.sh:363
 msgid "Patch format detection failed."
 msgstr "Dò tìm định dạng miếng vá gặp lỗi."
 
-#: git-am.sh:418
-msgid "-d option is no longer supported.  Do not use."
-msgstr "Tùy chọn -d không còn được hỗ trợ nữa. Xin đừng sử dụng."
+#: git-am.sh:389
+msgid ""
+"The -b/--binary option has been a no-op for long time, and\n"
+"it will be removed. Please do not use it anymore."
+msgstr ""
+"Tùy chọn -b/--binary đã không dùng từ lâu rồi, và\n"
+"nó sẽ được bỏ đi. Xin đừng sử dụng nó thêm nữa."
 
-#: git-am.sh:481
+#: git-am.sh:477
 #, sh-format
 msgid "previous rebase directory $dotest still exists but mbox given."
 msgstr "thư mục rebase trước $dotest vẫn chưa sẵn sàng nhưng mbox được đưa ra."
 
-#: git-am.sh:486
+#: git-am.sh:482
 msgid "Please make up your mind. --skip or --abort?"
 msgstr "Xin hãy rõ ràng. --skip hay --abort?"
 
-#: git-am.sh:513
+#: 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 đang được tiến hành, chúng ta không phục hồi lại."
 
-#: git-am.sh:579
+#: git-am.sh:575
 #, sh-format
 msgid "Dirty index: cannot apply patches (dirty: $files)"
 msgstr "Bảng mục lục sai: không thể áp dụng các miếng vá (sai: $files)"
 
-#: git-am.sh:671
+#: git-am.sh:679
 #, sh-format
 msgid ""
 "Patch is empty.  Was it split wrong?\n"
@@ -4969,61 +8840,76 @@ msgid ""
 "To restore the original branch and stop patching run \"$cmdline --abort\"."
 msgstr ""
 "Miếng vá trống rỗng.  Nó đã bị chia cắt sai phải không?\n"
-"Nếu bạn thích bỏ qua miếng vá này, hãy chạy lệnh sau để thay thế \"$cmdline --skip\".\n"
-"Để phục hồi lại nhánh nguyên bản và dừng vá lại hãy chạy lệnh \"$cmdline --abort\"."
+"Nếu bạn thích bỏ qua miếng vá này, hãy chạy lệnh sau để thay thế \"$cmdline "
+"--skip\".\n"
+"Để phục hồi lại nhánh nguyên thủy và dừng vá lại hãy chạy lệnh \"$cmdline --"
+"abort\"."
 
-#: git-am.sh:708
+#: git-am.sh:706
 msgid "Patch does not have a valid e-mail address."
 msgstr "Miếng vá không có địa chỉ e-mail hợp lệ."
 
-#: git-am.sh:755
+#: git-am.sh:753
 msgid "cannot be interactive without stdin connected to a terminal."
-msgstr "không thể được tương tác mà không có stdin kết nối với một thiết bị cuối"
+msgstr ""
+"không thể được tương tác mà không có stdin kết nối với một thiết bị cuối"
 
-#: git-am.sh:759
+#: git-am.sh:757
 msgid "Commit Body is:"
 msgstr "Thân của lần chuyển giao (commit) là:"
 
 #. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
 #. in your translation. The program will only accept English
 #. input at this point.
-#: git-am.sh:766
+#: git-am.sh:764
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all "
-msgstr "Áp dụng? đồng ý [y]/không [n]/chỉnh sửa [e]/hiển thị miếng [v]á/đồng ý tất cả [a]"
+msgstr ""
+"Áp dụng? đồng ý [y]/không [n]/chỉnh sửa [e]/hiển thị miếng [v]á/đồng ý tất "
+"cả [a] "
 
-#: git-am.sh:802
+#: git-am.sh:800
 #, sh-format
 msgid "Applying: $FIRSTLINE"
 msgstr "Đang áp dụng (miếng vá): $FIRSTLINE"
 
-#: git-am.sh:823
+#: git-am.sh:821
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
 "already introduced the same changes; you might want to skip this patch."
 msgstr ""
-"Không có thay đổi nào - bạn đã quên sử dụng lệnh 'git add' à?\n"
+"Không có thay đổi nào - bạn đã quên sử dụng lệnh “git add” à?\n"
 "Nếu ở đây không có gì còn lại stage, tình cờ là có một số thứ khác\n"
-"đã sẵn được đưa vào với cùng nội dung thay đổi; bạn có lẽ muốn bỏ qua miếng vá này."
+"đã sẵn được đưa vào với cùng nội dung thay đổi; bạn có lẽ muốn bỏ qua miếng "
+"vá này."
 
-#: git-am.sh:831
+#: git-am.sh:829
 msgid ""
 "You still have unmerged paths in your index\n"
 "did you forget to use 'git add'?"
 msgstr ""
 "Bạn vẫn có những đường dẫn chưa được hòa trộn trong bảng mục lục của mình\n"
-"bạn đã quên sử dụng lệnh 'git add' à?"
+"bạn đã quên sử dụng lệnh “git add” à?"
 
-#: git-am.sh:847
+#: git-am.sh:845
 msgid "No changes -- Patch already applied."
 msgstr "Không thay đổi gì cả -- Miếng vá đã được áp dụng rồi."
 
-#: git-am.sh:857
+#: git-am.sh:855
 #, sh-format
 msgid "Patch failed at $msgnum $FIRSTLINE"
 msgstr "Vá gặp lỗi tại $msgnum $FIRSTLINE"
 
-#: git-am.sh:873
+#: git-am.sh:858
+#, sh-format
+msgid ""
+"The copy of the patch that failed is found in:\n"
+"   $dotest/patch"
+msgstr ""
+"Bản sao chép của miếng vá mà nó gặp lỗi thì được tìm thấy trong:\n"
+"   $dotest/patch"
+
+#: git-am.sh:876
 msgid "applying to an empty history"
 msgstr "áp dụng vào một lịch sử trống rỗng"
 
@@ -5041,12 +8927,12 @@ msgstr "Bạn có muốn tôi thực hiện điều này cho bạn không [Y/n]?
 #: git-bisect.sh:95
 #, sh-format
 msgid "unrecognised option: '$arg'"
-msgstr "không công nhận tùy chọn: '$arg'"
+msgstr "không công nhận tùy chọn: “$arg”"
 
 #: git-bisect.sh:99
 #, sh-format
 msgid "'$arg' does not appear to be a valid revision"
-msgstr "'$arg' không có vẻ như là một sự xét lại hợp lệ"
+msgstr "”$arg” không có vẻ như là một sự xét lại hợp lệ"
 
 #: git-bisect.sh:117
 msgid "Bad HEAD - I need a HEAD"
@@ -5054,8 +8940,11 @@ msgstr "HEAD sai - Tôi cần một HEAD"
 
 #: git-bisect.sh:130
 #, sh-format
-msgid "Checking out '$start_head' failed. Try 'git bisect reset <validbranch>'."
-msgstr "Việc checkout '$start_head' gặp lỗi. Hãy thử 'git bisect reset <nhánh_hợp_lệ>'."
+msgid ""
+"Checking out '$start_head' failed. Try 'git bisect reset <validbranch>'."
+msgstr ""
+"Việc checkout “$start_head” gặp lỗi. Hãy thử “git bisect reset "
+"<nhánh_hợp_lệ>”."
 
 #: git-bisect.sh:140
 msgid "won't bisect on seeked tree"
@@ -5077,7 +8966,7 @@ msgstr "Đầu vào rev sai: $arg"
 
 #: git-bisect.sh:232
 msgid "Please call 'bisect_state' with at least one argument."
-msgstr "Hãy gọi lệnhl 'bisect_state' với ít nhất một đối số."
+msgstr "Hãy gọi lệnhl “bisect_state” với ít nhất một đối số."
 
 #: git-bisect.sh:244
 #, sh-format
@@ -5086,20 +8975,21 @@ msgstr "Đầu vào rev sai: $rev"
 
 #: git-bisect.sh:250
 msgid "'git bisect bad' can take only one argument."
-msgstr "'git bisect bad' có thể lấy chỉ một đối số."
+msgstr "“git bisect bad” có thể lấy chỉ một đối số."
 
 #. have bad but not good.  we could bisect although
 #. this is less optimum.
 #: git-bisect.sh:273
 msgid "Warning: bisecting only with a bad commit."
-msgstr "Cảnh báo: chỉ thực hiện việc bisect với một lần chuyển giao (commit) sai."
+msgstr ""
+"Cảnh báo: chỉ thực hiện việc bisect với một lần chuyển giao (commit) sai."
 
 #. TRANSLATORS: Make sure to include [Y] and [n] in your
 #. translation. The program will only accept English input
 #. at this point.
 #: git-bisect.sh:279
 msgid "Are you sure [Y/n]? "
-msgstr "Bạn có chắc chắn chưa [Y/n]?"
+msgstr "Bạn có chắc chắn chưa [Y/n]? "
 
 #: git-bisect.sh:289
 msgid ""
@@ -5116,18 +9006,18 @@ msgid ""
 "(You can use \"git bisect bad\" and \"git bisect good\" for that.)"
 msgstr ""
 "Bạn cần bắt đầu bằng lệnh \"git bisect start\".\n"
-"Bạn sau đó cần phải chỉ cho tôi ít nhất một điểm xét duyệt đúng và một điểm sai.\n"
+"Bạn sau đó cần phải chỉ cho tôi ít nhất một điểm xét duyệt đúng và một điểm "
+"sai.\n"
 "(Bạn có thể sử dụng \"git bisect bad\" và \"git bisect good\" cho chúng.)"
 
-#: git-bisect.sh:347
-#: git-bisect.sh:474
+#: git-bisect.sh:347 git-bisect.sh:474
 msgid "We are not bisecting."
 msgstr "Chúng tôi không bisect."
 
 #: git-bisect.sh:354
 #, sh-format
 msgid "'$invalid' is not a valid commit"
-msgstr "'$invalid' không phải là lần chuyển giao (commit) hợp lệ"
+msgstr "”$invalid” không phải là lần chuyển giao (commit) hợp lệ"
 
 #: git-bisect.sh:363
 #, sh-format
@@ -5135,8 +9025,8 @@ msgid ""
 "Could not check out original HEAD '$branch'.\n"
 "Try 'git bisect reset <commit>'."
 msgstr ""
-"Không thể check out original HEAD '$branch'.\n"
-"Hãy thử 'git bisect reset <commit>'."
+"Không thể check-out HEAD nguyên thủy của “$branch”.\n"
+"Hãy thử “git bisect reset <lần-chuyển-giao>”."
 
 #: git-bisect.sh:390
 msgid "No logfile given"
@@ -5163,7 +9053,7 @@ msgid ""
 "exit code $res from '$command' is < 0 or >= 128"
 msgstr ""
 "chạy bisect gặp lỗi:\n"
-"mã trả về $res từ lệnh '$command' là < 0 hoặc >= 128"
+"mã trả về $res từ lệnh “$command” là < 0 hoặc >= 128"
 
 #: git-bisect.sh:453
 msgid "bisect run cannot continue any more"
@@ -5176,7 +9066,7 @@ msgid ""
 "'bisect_state $state' exited with error code $res"
 msgstr ""
 "chạy bisect gặp lỗi:\n"
-"'bisect_state $state' đã thoát ra với mã lỗi $res"
+"”bisect_state $state” đã thoát ra với mã lỗi $res"
 
 #: git-bisect.sh:466
 msgid "bisect run success"
@@ -5189,22 +9079,26 @@ msgid ""
 "as appropriate to mark resolution, or use 'git commit -a'."
 msgstr ""
 "Pull là không thể được bởi vì bạn có những tập tin chưa được hòa trộn.\n"
-"Xin hãy sửa chữa chúng trước, và sau đó sử dụng lệnh 'git add/rm <tập-tin>'\n"
-"để phê chuẩn việc đánh dấu đây cần được giải quyết, hoặc là sử dụng 'git commit -a'."
+"Xin hãy sửa chữa chúng trước, và sau đó sử dụng lệnh “git add/rm <tập-tin>”\n"
+"để phê chuẩn việc đánh dấu đây cần được giải quyết, hoặc là sử dụng “git "
+"commit -a”."
 
 #: git-pull.sh:25
 msgid "Pull is not possible because you have unmerged files."
-msgstr "Full là không thể thực hiện bởi vì bạn có những tập tin chưa được hòa trộn."
+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
 msgid "updating an unborn branch with changes added to the index"
-msgstr "đang cập nhật một nhánh chưa được sinh ra với các thay đổi được thêm vào bảng mục lục"
+msgstr ""
+"đang cập nhật một nhánh chưa được sinh ra với các thay đổi được thêm vào "
+"bảng mục lục"
 
 #. The fetch involved updating the current branch.
 #. The working tree and the index file is still based on the
 #. $orig_head commit, but we are merging into $curr_head.
 #. First update the working tree to match $curr_head.
-#: git-pull.sh:228
+#: git-pull.sh:229
 #, sh-format
 msgid ""
 "Warning: fetch updated the current branch head.\n"
@@ -5215,17 +9109,150 @@ 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:253
+#: git-pull.sh:254
 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:257
+#: git-pull.sh:258
 msgid "Cannot rebase onto multiple branches"
 msgstr "Không thể thực hiện lệnh rebase (cơ cấu lại) trên nhiều nhánh"
 
+#: git-rebase.sh:53
+msgid ""
+"When you have resolved this problem, run \"git rebase --continue\".\n"
+"If you prefer to skip this patch, run \"git rebase --skip\" instead.\n"
+"To check out the original branch and stop rebasing, run \"git rebase --abort"
+"\"."
+msgstr ""
+"Khi bạn cần giải quyết vấn đề này hãy chạy lệnh \"git rebase --continue\".\n"
+"Nếu bạn có ý định bỏ qua miếng vá, thay vào đó bạn chạy \"git rebase --skip"
+"\".\n"
+"Để phục hồi lại thành nhánh nguyên thủy và dừng việc vá lại thì chạy \"git "
+"rebase --abort\"."
+
+#: git-rebase.sh:160
+msgid "The pre-rebase hook refused to rebase."
+msgstr "Móc (hook) pre-rebase từ chối rebase."
+
+#: git-rebase.sh:165
+msgid "It looks like git-am is in progress. Cannot rebase."
+msgstr ""
+"Hình như đang trong quá trình thực hiện lệnh git-am. Không thể chạy lệnh "
+"rebase."
+
+#: git-rebase.sh:296
+msgid "The --exec option must be used with the --interactive option"
+msgstr "Tùy chọn --exec phải được sử dụng cùng với tùy chọn --interactive"
+
+#: git-rebase.sh:301
+msgid "No rebase in progress?"
+msgstr "Không có tiến trình rebase nào phải không?"
+
+#: git-rebase.sh:312
+msgid "The --edit-todo action can only be used during interactive rebase."
+msgstr ""
+"Hành động “--edit-todo” chỉ có thể dùng trong quá trình “rebase” (sửa lịch "
+"sử) tương tác."
+
+#: git-rebase.sh:319
+msgid "Cannot read HEAD"
+msgstr "Không thể đọc HEAD"
+
+#: git-rebase.sh:322
+msgid ""
+"You must edit all merge conflicts and then\n"
+"mark them as resolved using git add"
+msgstr ""
+"Bạn phải sửa tất cả các lần hòa trộn xung đột và sau\n"
+"đó đánh dấu chúng là cần xử lý sử dụng lệnh git add"
+
+#: git-rebase.sh:340
+#, sh-format
+msgid "Could not move back to $head_name"
+msgstr "Không thể quay trở lại $head_name"
+
+#: git-rebase.sh:359
+#, sh-format
+msgid ""
+"It seems that there is already a $state_dir_base directory, and\n"
+"I wonder if you are in the middle of another rebase.  If that is the\n"
+"case, please try\n"
+"\t$cmd_live_rebase\n"
+"If that is not the case, please\n"
+"\t$cmd_clear_stale_rebase\n"
+"and run me again.  I am stopping in case you still have something\n"
+"valuable there."
+msgstr ""
+"Hình như là ở đây sẵn có một thư mục $state_dir_base directory, và\n"
+"Tôi tự hỏi có phải bạn đang ở giữa một lệnh rebase khác.  Nếu đúng là\n"
+"như vậy, xin hãy thử\n"
+"\t$cmd_live_rebase\n"
+"Nếu không phải thế, hãy thử\n"
+"\t$cmd_clear_stale_rebase\n"
+"và chạy TÔI lần nữa.  TÔI  dừng lại trong trường hợp bạn vẫn\n"
+"có một số thứ quý giá ở đây.\n"
+"\n"
+"TÔI: là lệnh bạn vừa gọi!"
+
+#: git-rebase.sh:404
+#, sh-format
+msgid "invalid upstream $upstream_name"
+msgstr "thượng nguồn không hợp lệ $upstream_name"
+
+#: git-rebase.sh:428
+#, sh-format
+msgid "$onto_name: there are more than one merge bases"
+msgstr "$onto_name: ở đây có nhiều hơn một nền móng hòa trộn"
+
+#: git-rebase.sh:431 git-rebase.sh:435
+#, sh-format
+msgid "$onto_name: there is no merge base"
+msgstr "$onto_name: ở đây không có nền móng hòa trộn nào"
+
+#: git-rebase.sh:440
+#, sh-format
+msgid "Does not point to a valid commit: $onto_name"
+msgstr "Không chỉ đến một lần chuyển giao (commit) không hợp lệ: $onto_name"
+
+#: git-rebase.sh:463
+#, sh-format
+msgid "fatal: no such branch: $branch_name"
+msgstr "nghiêm trọng: không có nhánh như thế: $branch_name"
+
+#: git-rebase.sh:483
+msgid "Please commit or stash them."
+msgstr "Xin hãy commit hoặc tạm cất (stash) chúng."
+
+#: git-rebase.sh:501
+#, sh-format
+msgid "Current branch $branch_name is up to date."
+msgstr "Nhánh hiện tại $branch_name đã được cập nhật rồi."
+
+#: git-rebase.sh:504
+#, sh-format
+msgid "Current branch $branch_name is up to date, rebase forced."
+msgstr "Nhánh hiện tại $branch_name đã được cập nhật rồi, lệnh rebase ép buộc."
+
+#: git-rebase.sh:515
+#, sh-format
+msgid "Changes from $mb to $onto:"
+msgstr "Thay đổi từ $mb thành $onto:"
+
+#. Detach HEAD and reset the tree
+#: git-rebase.sh:524
+msgid "First, rewinding head to replay your work on top of it..."
+msgstr ""
+"Trước tiên, di chuyển head để xem lại các công việc trên đỉnh của nó..."
+
+#: git-rebase.sh:532
+#, sh-format
+msgid "Fast-forwarded $branch_name to $onto_name."
+msgstr "Fast-forward $branch_name thành $onto_name."
+
 #: git-stash.sh:51
 msgid "git stash clear with parameters is unimplemented"
-msgstr "git stash clear với các tham số là chưa được thực hiện (không nhận đối số)"
+msgstr ""
+"git stash clear với các tham số là chưa được thực hiện (không nhận đối số)"
 
 #: git-stash.sh:74
 msgid "You do not have the initial commit yet"
@@ -5235,8 +9262,7 @@ msgstr "Bạn chưa còn có lần chuyển giao (commit) khởi tạo"
 msgid "Cannot save the current index state"
 msgstr "Không thể ghi lại trạng thái bảng mục lục hiện hành"
 
-#: git-stash.sh:123
-#: git-stash.sh:136
+#: git-stash.sh:123 git-stash.sh:136
 msgid "Cannot save the current worktree state"
 msgstr "Không thể ghi lại trạng thái cây-làm-việc hiện hành"
 
@@ -5268,8 +9294,8 @@ msgid ""
 "error: unknown option for 'stash save': $option\n"
 "       To provide a message, use git stash save -- '$option'"
 msgstr ""
-"lỗi: không hiểu tùy chọn cho 'stash save': $option\n"
-"       Để cung cấp một thông điệp, sử dụng git stash save -- '$option'"
+"lỗi: không hiểu tùy chọn cho “stash save”: $option\n"
+"       Để cung cấp một thông điệp, sử dụng git stash save -- “$option”"
 
 #: git-stash.sh:223
 msgid "No local changes to save"
@@ -5289,7 +9315,7 @@ msgstr "Không thể gỡ bỏ các thay đổi cây-làm-việc"
 
 #: git-stash.sh:352
 msgid "No stash found."
-msgstr "Không tìm thấy stast nào."
+msgstr "Không tìm thấy stash nào."
 
 #: git-stash.sh:359
 #, sh-format
@@ -5304,12 +9330,12 @@ msgstr "$reference không phải là tham chiếu hợp lệ"
 #: git-stash.sh:393
 #, sh-format
 msgid "'$args' is not a stash-like commit"
-msgstr "'$args' không phải là lần chuyển giao (commit) giống-stash"
+msgstr "”$args” không phải là lần chuyển giao (commit) giống-stash"
 
 #: git-stash.sh:404
 #, sh-format
 msgid "'$args' is not a stash reference"
-msgstr "'$args' không phải tham chiếu đến stash"
+msgstr "”$args” không phải tham chiếu đến stash"
 
 #: git-stash.sh:412
 msgid "unable to refresh index"
@@ -5331,224 +9357,336 @@ msgstr "Không thể ghi lại cây chỉ mục"
 msgid "Cannot unstage modified files"
 msgstr "Không thể bỏ trạng thía của các tập tin đã được sửa chữa"
 
-#: git-stash.sh:474
+#: git-stash.sh:475
 msgid "Index was not unstashed."
 msgstr "Bảng mục lục đã không được bỏ stash."
 
-#: git-stash.sh:491
+#: git-stash.sh:492
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr "Đã hạ xuống ${REV} ($s)"
 
-#: git-stash.sh:492
+#: git-stash.sh:493
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr "${REV}: Không thể xóa bỏ mục stash"
 
-#: git-stash.sh:499
+#: git-stash.sh:500
 msgid "No branch name specified"
 msgstr "Chưa chỉ ra tên của nhánh"
 
-#: git-stash.sh:570
+#: git-stash.sh:571
 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:56
+#: git-submodule.sh:89
 #, 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 url '$remoteurl'"
+msgstr "không thể tháo bỏ một thành phần ra khỏi “$remoteurl” url"
 
-#: git-submodule.sh:109
+#: git-submodule.sh:168
 #, 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'"
+msgstr ""
+"Không tìm thấy ánh xạ (mapping) mô-đun-con trong .gitmodules cho đường dẫn "
+"“$sm_path”"
 
-#: git-submodule.sh:150
+#: git-submodule.sh:211
 #, 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"
+msgstr "Nhân bản “$url” vào đường dẫn mô-đun-con “$sm_path” gặp lỗi"
 
-#: git-submodule.sh:160
+#: git-submodule.sh:223
 #, 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\""
+msgstr ""
+"Gitdir “$a” là bộ phận của đường dẫn mô-đun-con “$b” hoặc \"vice versa\""
 
-#: git-submodule.sh:249
+#: git-submodule.sh:316
 #, 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 ./|../"
+msgstr ""
+"repo URL: “$repo” phải là đường dẫn tuyệt đối hoặc là bắt đầu bằng ./|../"
 
-#: git-submodule.sh:266
+#: git-submodule.sh:333
 #, 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"
+msgstr "”$sm_path” thực sự đã tồn tại ở bảng mục lục rồi"
 
-#: git-submodule.sh:270
+#: git-submodule.sh:337
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
 "$sm_path\n"
 "Use -f if you really want to add it."
 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"
+"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"
 "$sm_path\n"
 "Sử dụng -f nếu bạn thực sự muốn thêm nó vào."
 
-#: git-submodule.sh:281
+#: git-submodule.sh:355
 #, 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"
+msgstr "Đang thêm repo có sẵn tại “$sm_path” vào bảng mục lục"
 
-#: git-submodule.sh:283
+#: git-submodule.sh:357
 #, 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ệ"
+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
+#, sh-format
+msgid "A git directory for '$sm_name' is found locally with remote(s):"
+msgstr ""
+"Thư mục git cho '$sm_name' được tìm thấy một cách cục bộ với các máy chủ:"
+
+#: git-submodule.sh:367
+#, 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
+#, sh-format
+msgid ""
+"use the '--force' option. If the local git directory is not the correct repo"
+msgstr ""
+"dùng tùy chọn '--force'. Nếu thư mục git nội bộ không phải là repo (kho) đúng"
 
-#: git-submodule.sh:297
+#: git-submodule.sh:370
+#, 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'."
+
+#: git-submodule.sh:372
+#, sh-format
+msgid "Reactivating local git directory for submodule '$sm_name'."
+msgstr ""
+"Phục hồi sự hoạt động của thư mục git nội bộ cho mô-đun-con '$sm_name'."
+
+#: git-submodule.sh:384
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
-msgstr "Không thể checkout mô-đun con '$sm_path'"
+msgstr "Không thể checkout mô-đun con “$sm_path”"
 
-#: git-submodule.sh:302
+#: git-submodule.sh:389
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
-msgstr "Gặp lỗi khi thêm mô-đun con '$sm_path'"
+msgstr "Gặp lỗi khi thêm mô-đun con “$sm_path”"
 
-#: git-submodule.sh:307
+#: git-submodule.sh:394
 #, 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'"
+msgstr "Gặp lỗi khi đăng ký với hệ thống mô-đun con “$sm_path”"
 
-#: git-submodule.sh:349
+#: git-submodule.sh:437
 #, sh-format
 msgid "Entering '$prefix$sm_path'"
-msgstr "Đang nhập '$prefix$sm_path'"
+msgstr "Đang nhập “$prefix$sm_path”"
 
-#: git-submodule.sh:363
+#: git-submodule.sh:451
 #, 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."
+msgstr "Dừng lại tại “$sm_path”; script trả về trạng thái khác không."
 
-#: git-submodule.sh:406
+#: git-submodule.sh:495
 #, 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"
+msgstr ""
+"Không tìm thấy url cho đường dẫn mô-đun-con “$sm_path” trong .gitmodules"
 
-#: git-submodule.sh:415
+#: git-submodule.sh:504
 #, 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'"
+msgstr "Gặp lỗi khi đăng ký url cho đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:417
+#: git-submodule.sh:506
 #, 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'"
+msgstr "Mô-đun-con “$name” ($url) được đăng ký cho đường dẫn “$sm_path”"
 
-#: git-submodule.sh:425
+#: git-submodule.sh:514
 #, 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'"
+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:524
+#: git-submodule.sh:614
 #, sh-format
 msgid ""
 "Submodule path '$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"
-"Có lẽ bạn muốn sử dụng lệnh 'update --init'?"
+"Đường dẫn mô-đun-con “$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:537
+#: git-submodule.sh:627
 #, sh-format
 msgid "Unable to find current revision in submodule path '$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'"
+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”"
 
-#: git-submodule.sh:556
+#: git-submodule.sh:646
 #, 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'"
+msgstr "Không thể lấy về (fetch) trong đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:570
+#: git-submodule.sh:660
 #, 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'"
+msgstr "Không thể rebase “$sha1” trong đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:571
+#: git-submodule.sh:661
 #, 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'"
+msgstr "Đường dẫn mô-đun-con “$sm_path”: được rebase vào trong “$sha1”"
 
-#: git-submodule.sh:576
+#: git-submodule.sh:666
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$sm_path'"
-msgstr "Không thể hòa trộn (merge) '$sha1' trong đường dẫn mô-đun-con '$sm_path'"
+msgstr ""
+"Không thể hòa trộn (merge) “$sha1” trong đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:577
+#: git-submodule.sh:667
 #, 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'"
+msgstr "Đường dẫn mô-đun-con “$sm_path”: được hòa trộn vào “$sha1”"
 
-#: git-submodule.sh:582
+#: git-submodule.sh:672
 #, 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'"
+msgstr "Không thể checkout “$sha1” trong đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:583
+#: git-submodule.sh:673
 #, sh-format
 msgid "Submodule path '$sm_path': checked out '$sha1'"
-msgstr "Đường dẫn mô-đun-con '$sm_path': được checkout '$sha1'"
+msgstr "Đường dẫn mô-đun-con “$sm_path”: được checkout “$sha1”"
 
-#: git-submodule.sh:605
-#: git-submodule.sh:928
+#: git-submodule.sh:695 git-submodule.sh:1017
 #, 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'"
+msgstr "Gặp lỗi khi đệ quy vào trong đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:713
-msgid "--cached cannot be used with --files"
-msgstr "--cached không thể được sử dụng cùng với --files"
+#: git-submodule.sh:803
+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:753
+#: git-submodule.sh:843
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "chế độ không như mong chờ $mod_dst"
 
-#: git-submodule.sh:771
+#: git-submodule.sh:861
 #, 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:774
+#: git-submodule.sh:864
 #, 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:777
+#: git-submodule.sh:867
 #, 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"
+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:802
+#: git-submodule.sh:892
 msgid "blob"
 msgstr "blob"
 
-#: git-submodule.sh:803
-msgid "submodule"
-msgstr "mô-đun con"
-
-#: git-submodule.sh:840
+#: git-submodule.sh:930
 msgid "# Submodules changed but not updated:"
-msgstr "# Những mô-đun-con đã bị thay đổi nhưng chưa được cập nhật:"
+msgstr "# Các mô-đun-con đã bị thay đổi nhưng chưa được cập nhật:"
 
-#: git-submodule.sh:842
+#: 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:974
+#: git-submodule.sh:1080
 #, sh-format
-msgid "Synchronizing submodule url for '$name'"
-msgstr "Đang đồng bộ hóa url mô-đun-con cho '$name'"
+msgid "Synchronizing submodule url for '$prefix$sm_path'"
+msgstr "Url Mô-đun-con đồng bộ hóa cho '$prefix$sm_path'"
+
+#~ msgid "git remote set-head <name> (-a | -d | <branch>])"
+#~ msgstr "git remote set-head <tên> (-a | -d | <nhánh>])"
+
+#~ msgid " 0 files changed"
+#~ msgstr " 0 có tập tin nào thay đổi cả"
+
+#~ msgid " %d file changed"
+#~ msgid_plural " %d files changed"
+#~ msgstr[0] " %d tập tin thay đổi"
+#~ msgstr[1] " %d tập tin thay đổi"
+
+#~ msgid ", %d insertion(+)"
+#~ msgid_plural ", %d insertions(+)"
+#~ msgstr[0] ", %d thêm(+)"
+#~ msgstr[1] ", %d thêm(+)"
+
+#~ msgid ", %d deletion(-)"
+#~ msgid_plural ", %d deletions(-)"
+#~ msgstr[0] ", %d xóa(-)"
+#~ msgstr[1] ", %d xóa(-)"
+
+#~ msgid "Auto packing the repository for optimum performance.\n"
+#~ msgstr "Tự động đóng gói kho chứa để tối ưu hóa hiệu suất làm việc.\n"
+
+#~ msgid " (use \"git add\" to track)"
+#~ msgstr " (dùng \"git add\" để theo dõi dấu vết)"
+
+#~ msgid "-B cannot be used with -b"
+#~ msgstr "tùy chọn -B không thể dùng -b"
+
+#~ msgid "--patch is incompatible with all other options"
+#~ msgstr "--patch xung khắc với tất cả các tùy chọn khác"
+
+#~ msgid "--detach cannot be used with -b/-B/--orphan"
+#~ msgstr "--detach không thể được sử dụng với tùy chọn -b/-B/--orphan"
+
+#~ msgid "--detach cannot be used with -t"
+#~ msgstr "--detach không thể được sử dụng với tùy chọn -t"
+
+#~ msgid "--orphan and -b|-B are mutually exclusive"
+#~ msgstr "Tùy chọn --orphan và -b|-B loại từ lẫn nhau"
+
+#~ msgid "--orphan cannot be used with -t"
+#~ msgstr "--orphan không thể được sử dụng với tùy chọn -t"
+
+#~ msgid "git checkout: -f and -m are incompatible"
+#~ msgstr "git checkout: hai tùy chọn -f và -m xung khắc nhau"
+
+#~ msgid ""
+#~ "git checkout: updating paths is incompatible with switching branches."
+#~ msgstr ""
+#~ "git checkout: việc cập nhật các đường dẫn là xung khắc với việc chuyển "
+#~ "đổi các nhánh."
+
+#~ msgid "diff setup failed"
+#~ msgstr "cài đặt diff gặp lỗi"
+
+#~ msgid "merge-recursive: disk full?"
+#~ msgstr "merge-recursive: đĩa bị đầy?"
+
+#~ msgid "diff_setup_done failed"
+#~ msgstr "diff_setup_done gặp lỗi"
+
+#~ msgid "-d option is no longer supported.  Do not use."
+#~ msgstr "Tùy chọn -d không còn được hỗ trợ nữa. Xin đừng sử dụng."
+
+#~ msgid "%s: has been deleted/renamed"
+#~ msgstr "%s: đã được xóa/thay-tên"
+
+#~ msgid "'%s': not a documentation directory."
+#~ msgstr "”%s”: không phải là một thư mục tài liệu."
 
 #~ msgid "--"
 #~ msgstr "--"
@@ -5557,14 +9695,5 @@ msgstr "Đang đồng bộ hóa url mô-đun-con cho '$name'"
 #~ msgstr ""
 #~ "Không thể rút trích địa chỉ thư điện tử từ định danh người chuyển giao"
 
-#, fuzzy
 #~ msgid "could not parse commit %s\n"
-#~ msgstr "Không thể phân tích commit (lần chuyển giao) %s\n"
-
-#, fuzzy
-#~ msgid "cherry-pick"
-#~ msgstr "< Chọn D-Mod"
-
-#, fuzzy
-#~ msgid "Too many options specified"
-#~ msgstr "đã ghi rõ quá nhiều kích cỡ"
+#~ msgstr "không thể phân tích commit (lần chuyển giao) %s\n"