安装最新版本 Git

CentOS 安装最新版本 Git

查看默认 yum 源的 git版本

# 安装
yum install -y git

# 查看版本
git version

# git version 1.8.3.1

参看官网,CentOS 安装新版本有两种方式

 

一、编译方式安装

1.下载最新版本源码

https://mirrors.edge.kernel.org/pub/software/scm/git/

yum install -y wget

wget -O /tmp/git-2.21.0.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.21.0.tar.gz

2.解压编译

# 安装编译依赖
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

# 解压
tar -zxf /tmp/git-2.21.0.tar.gz -C /tmp/

cd /tmp/git-2.21.0

# 检验相关依赖,设置安装路径
./configure --prefix=/usr/local/git

# 编译安装
make && make install

3.配置全局环境变量

# 删除已有的 git
yum remove git

# 配置环境变量
vim /etc/profile

# GIT_HOME
GIT_HOME=/usr/local/git
export PATH=$PATH:$GIT_HOME/bin

# 刷新
source /etc/profile

 

二、IUS 源方式安装,不一定为最新版本

添加 IUS 源:https://ius.io/setup,安装:

# IUS 源的软件名称一般会加上版本号和 u 字母
yum install -y git2u

也可使用 wandisco 源

Windows 安装最新版本 Git

官网下载:https://github.com/git-for-windows/git/releases

镜像下载:https://registry.npmmirror.com/binary.html?path=git-for-windows

git-gui & gitk 设置中文:https://github.com/stayor/git-gui-zh & https://github.com/toyobayashi/git-zh

新建 /mingw64/share/git-gui/lib/msgs/zh_cn.msg 文件:

set ::msgcat::header "Project-Id-Version: git-gui\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2007-07-21 01:23-0700\nLast-Translator: Eric Miao <eric.y.miao@gmail.com>\nLanguage-Team: Chinese\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n"
::msgcat::mcset zh_cn "git-gui: fatal error" "git-gui: \u81f4\u547d\u9519\u8bef"
::msgcat::mcset zh_cn "Invalid font specified in %s:" "%s \u4e2d\u6307\u5b9a\u7684\u5b57\u4f53\u65e0\u6548:"
::msgcat::mcset zh_cn "Main Font" "\u4e3b\u8981\u5b57\u4f53"
::msgcat::mcset zh_cn "Diff/Console Font" "Diff/\u63a7\u5236\u7ec8\u7aef\u5b57\u4f53"
::msgcat::mcset zh_cn "Cannot find git in PATH." "PATH \u4e2d\u6ca1\u6709\u627e\u5230 git"
::msgcat::mcset zh_cn "Cannot parse Git version string:" "\u65e0\u6cd5\u89e3\u6790 Git \u7684\u7248\u672c\u4fe1\u606f:"
::msgcat::mcset zh_cn "Git version cannot be determined.\n\n%s claims it is version '%s'.\n\n%s requires at least Git 1.5.0 or later.\n\nAssume '%s' is version 1.5.0?\n" "\u65e0\u6cd5\u786e\u5b9a Git \u7684\u7248\u672c.\n\n%s \u58f0\u660e\u5176\u7248\u672c\u4e3a '%s'.\n\n\u800c %s \u9700\u8981 1.5.0 \u6216\u8fd9\u4ee5\u540e\u7684 Git \u7248\u672c.\n\n\u662f\u5426\u5047\u5b9a '%s' \u4e3a\u7248\u672c 1.5.0?\n"
::msgcat::mcset zh_cn "Git directory not found:" "Git \u76ee\u5f55\u65e0\u6cd5\u627e\u5230:"
::msgcat::mcset zh_cn "Cannot move to top of working directory:" "\u65e0\u6cd5\u79fb\u52a8\u5230\u5de5\u4f5c\u6839\u76ee\u5f55:"
::msgcat::mcset zh_cn "Cannot use funny .git directory:" "\u65e0\u6cd5\u4f7f\u7528 .git \u76ee\u5f55:"
::msgcat::mcset zh_cn "No working directory" "\u6ca1\u6709\u5de5\u4f5c\u76ee\u5f55"
::msgcat::mcset zh_cn "Refreshing file status..." "\u66f4\u65b0\u6587\u4ef6\u72b6\u6001..."
::msgcat::mcset zh_cn "Scanning for modified files ..." "\u626b\u63cf\u4fee\u6539\u8fc7\u7684\u6587\u4ef6 ..."
::msgcat::mcset zh_cn "Ready." "\u5c31\u7eea"
::msgcat::mcset zh_cn "Unmodified" "\u672a\u4fee\u6539"
::msgcat::mcset zh_cn "Modified, not staged" "\u4fee\u6539\u4f46\u672a\u7f13\u5b58"
::msgcat::mcset zh_cn "Staged for commit" "\u7f13\u5b58\u4e3a\u63d0\u4ea4"
::msgcat::mcset zh_cn "Portions staged for commit" "\u90e8\u5206\u7f13\u5b58\u4e3a\u63d0\u4ea4"
::msgcat::mcset zh_cn "Staged for commit, missing" "\u7f13\u5b58\u4e3a\u63d0\u4ea4, \u4e0d\u5b58\u5728"
::msgcat::mcset zh_cn "Untracked, not staged" "\u672a\u8ddf\u8e2a, \u672a\u7f13\u5b58"
::msgcat::mcset zh_cn "Missing" "\u4e0d\u5b58\u5728"
::msgcat::mcset zh_cn "Staged for removal" "\u7f13\u5b58\u4e3a\u5220\u9664"
::msgcat::mcset zh_cn "Staged for removal, still present" "\u7f13\u5b58\u4e3a\u5220\u9664, \u4f46\u4ecd\u5b58\u5728"
::msgcat::mcset zh_cn "Requires merge resolution" "\u9700\u8981\u89e3\u51b3\u5408\u5e76\u51b2\u7a81"
::msgcat::mcset zh_cn "Starting gitk... please wait..." "\u542f\u52a8 gitk... \u8bf7\u7b49\u5f85..."
::msgcat::mcset zh_cn "Unable to start gitk:\n\n%s does not exist" "\u65e0\u6cd5\u542f\u52a8 gitk:\n\n%s \u4e0d\u5b58\u5728"
::msgcat::mcset zh_cn "Repository" "\u7248\u672c\u5e93(repository)"
::msgcat::mcset zh_cn "Edit" "\u7f16\u8f91"
::msgcat::mcset zh_cn "Branch" "\u5206\u652f(branch)"
::msgcat::mcset zh_cn "Commit@@noun" "\u63d0\u4ea4(commit)"
::msgcat::mcset zh_cn "Merge" "\u5408\u5e76(merge)"
::msgcat::mcset zh_cn "Remote" "\u8fdc\u7aef(remote)"
::msgcat::mcset zh_cn "Browse Current Branch's Files" "\u6d4f\u89c8\u5f53\u524d\u5206\u652f\u4e0a\u7684\u6587\u4ef6"
::msgcat::mcset zh_cn "Browse Branch Files..." "\u6d4f\u89c8\u5206\u652f\u4e0a\u7684\u6587\u4ef6..."
::msgcat::mcset zh_cn "Visualize Current Branch's History" "\u56fe\u793a\u5f53\u524d\u5206\u652f\u7684\u5386\u53f2"
::msgcat::mcset zh_cn "Visualize All Branch History" "\u56fe\u793a\u6240\u6709\u5206\u652f\u7684\u5386\u53f2"
::msgcat::mcset zh_cn "Browse %s's Files" "\u6d4f\u89c8 %s \u4e0a\u7684\u6587\u4ef6"
::msgcat::mcset zh_cn "Visualize %s's History" "\u56fe\u793a %s \u5206\u652f\u7684\u5386\u53f2"
::msgcat::mcset zh_cn "Database Statistics" "\u6570\u636e\u5e93\u7edf\u8ba1\u4fe1\u606f"
::msgcat::mcset zh_cn "Compress Database" "\u538b\u7f29\u6570\u636e\u5e93"
::msgcat::mcset zh_cn "Verify Database" "\u9a8c\u8bc1\u6570\u636e\u5e93"
::msgcat::mcset zh_cn "Create Desktop Icon" "\u521b\u5efa\u684c\u9762\u56fe\u6807"
::msgcat::mcset zh_cn "Quit" "\u9000\u51fa"
::msgcat::mcset zh_cn "Undo" "\u64a4\u9500"
::msgcat::mcset zh_cn "Redo" "\u91cd\u505a"
::msgcat::mcset zh_cn "Cut" "\u526a\u5207"
::msgcat::mcset zh_cn "Copy" "\u590d\u5236"
::msgcat::mcset zh_cn "Paste" "\u7c98\u8d34"
::msgcat::mcset zh_cn "Delete" "\u5220\u9664"
::msgcat::mcset zh_cn "Select All" "\u5168\u9009"
::msgcat::mcset zh_cn "Create..." "\u65b0\u5efa..."
::msgcat::mcset zh_cn "Checkout..." "Checkout..."
::msgcat::mcset zh_cn "Rename..." "\u66f4\u540d..."
::msgcat::mcset zh_cn "Delete..." "\u5220\u9664..."
::msgcat::mcset zh_cn "Reset..." "\u590d\u4f4d(Reset)..."
::msgcat::mcset zh_cn "New Commit" "\u65b0\u5efa\u63d0\u4ea4"
::msgcat::mcset zh_cn "Amend Last Commit" "\u4fee\u6b63\u4e0a\u6b21\u63d0\u4ea4"
::msgcat::mcset zh_cn "Rescan" "\u91cd\u65b0\u626b\u63cf"
::msgcat::mcset zh_cn "Stage To Commit" "\u7f13\u5b58\u4e3a\u63d0\u4ea4"
::msgcat::mcset zh_cn "Stage Changed Files To Commit" "\u7f13\u5b58\u4fee\u6539\u7684\u6587\u4ef6\u4e3a\u63d0\u4ea4"
::msgcat::mcset zh_cn "Unstage From Commit" "\u4ece\u672c\u6b21\u63d0\u4ea4\u64a4\u9664"
::msgcat::mcset zh_cn "Revert Changes" "\u64a4\u9500\u4fee\u6539"
::msgcat::mcset zh_cn "Sign Off" "\u7b7e\u540d(Sign Off)"
::msgcat::mcset zh_cn "Commit@@verb" "\u63d0\u4ea4"
::msgcat::mcset zh_cn "Local Merge..." "\u672c\u5730\u5408\u5e76..."
::msgcat::mcset zh_cn "Abort Merge..." "\u4e2d\u6b62\u5408\u5e76..."
::msgcat::mcset zh_cn "Push..." "\u4e0a\u4f20..."
::msgcat::mcset zh_cn "Apple" "\u82f9\u679c"
::msgcat::mcset zh_cn "About %s" "\u5173\u4e8e %s"
::msgcat::mcset zh_cn "Preferences..." "\u9996\u9009\u9879..."
::msgcat::mcset zh_cn "Options..." "\u9009\u9879..."
::msgcat::mcset zh_cn "Help" "\u5e2e\u52a9"
::msgcat::mcset zh_cn "Online Documentation" "\u5728\u7ebf\u6587\u6863"
::msgcat::mcset zh_cn "fatal: cannot stat path %s: No such file or directory" "\u81f4\u547d\u9519\u8bef: \u65e0\u6cd5\u83b7\u53d6\u8def\u5f84 %s \u7684\u4fe1\u606f: \u8be5\u6587\u4ef6\u6216\u76ee\u5f55\u4e0d\u5b58\u5728"
::msgcat::mcset zh_cn "Current Branch:" "\u5f53\u524d\u5206\u652f:"
::msgcat::mcset zh_cn "Staged Changes (Will Commit)" "\u5df2\u7f13\u5b58\u7684\u6539\u52a8 (\u5c06\u88ab\u63d0\u4ea4)"
::msgcat::mcset zh_cn "Unstaged Changes" "\u672a\u7f13\u5b58\u7684\u6539\u52a8"
::msgcat::mcset zh_cn "Stage Changed" "\u7f13\u5b58\u6539\u52a8"
::msgcat::mcset zh_cn "Push" "\u4e0a\u4f20"
::msgcat::mcset zh_cn "Initial Commit Message:" "\u521d\u59cb\u7684\u63d0\u4ea4\u63cf\u8ff0:"
::msgcat::mcset zh_cn "Amended Commit Message:" "\u4fee\u6b63\u7684\u63d0\u4ea4\u63cf\u8ff0:"
::msgcat::mcset zh_cn "Amended Initial Commit Message:" "\u4fee\u6b63\u7684\u521d\u59cb\u63d0\u4ea4\u63cf\u8ff0:"
::msgcat::mcset zh_cn "Amended Merge Commit Message:" "\u4fee\u6b63\u7684\u5408\u5e76\u63d0\u4ea4\u63cf\u8ff0:"
::msgcat::mcset zh_cn "Merge Commit Message:" "\u5408\u5e76\u63d0\u4ea4\u63cf\u8ff0:"
::msgcat::mcset zh_cn "Commit Message:" "\u63d0\u4ea4\u63cf\u8ff0:"
::msgcat::mcset zh_cn "Copy All" "\u5168\u90e8\u590d\u5236"
::msgcat::mcset zh_cn "File:" "\u6587\u4ef6:"
::msgcat::mcset zh_cn "Apply/Reverse Hunk" "\u5e94\u7528/\u64a4\u6d88\u6b64\u4fee\u6539\u5757"
::msgcat::mcset zh_cn "Show Less Context" "\u663e\u793a\u66f4\u5c11\u4e0a\u4e0b\u6587"
::msgcat::mcset zh_cn "Show More Context" "\u663e\u793a\u66f4\u591a\u4e0a\u4e0b\u6587"
::msgcat::mcset zh_cn "Refresh" "\u5237\u65b0"
::msgcat::mcset zh_cn "Decrease Font Size" "\u7f29\u5c0f\u5b57\u4f53"
::msgcat::mcset zh_cn "Increase Font Size" "\u653e\u5927\u5b57\u4f53"
::msgcat::mcset zh_cn "Unstage Hunk From Commit" "\u4ece\u63d0\u4ea4\u4e2d\u64a4\u9664\u4fee\u6539\u5757"
::msgcat::mcset zh_cn "Stage Hunk For Commit" "\u7f13\u5b58\u4fee\u6539\u5757\u4e3a\u63d0\u4ea4"
::msgcat::mcset zh_cn "Initializing..." "\u521d\u59cb\u5316..."
::msgcat::mcset zh_cn "Possible environment issues exist.\n\nThe following environment variables are probably\ngoing to be ignored by any Git subprocess run\nby %s:\n\n" "\u53ef\u80fd\u5b58\u5728\u73af\u5883\u53d8\u91cf\u7684\u95ee\u9898.\n\n\u7531 %s \u6267\u884c\u7684 Git \u5b50\u8fdb\u7a0b\u53ef\u80fd\u5ffd\u7565\u4e0b\u5217\u73af\u5883\u53d8\u91cf:\n\n"
::msgcat::mcset zh_cn "\nThis is due to a known issue with the\nTcl binary distributed by Cygwin." "\n\u8fd9\u662f\u7531 Cygwin \u53d1\u5e03\u7684 Tcl \u4ee3\u7801\u4e2d\u4e00\u4e2a\n\u5df2\u77e5\u95ee\u9898\u6240\u5f15\u8d77."
::msgcat::mcset zh_cn "\n\nA good replacement for %s\nis placing values for the user.name and\nuser.email settings into your personal\n~/.gitconfig file.\n" "\n\n%s \u7684\u4e00\u4e2a\u5f88\u597d\u7684\u66ff\u4ee3\u65b9\u6848\u662f\u5c06 user.name \u4ee5\u53ca\nuser.email \u8bbe\u7f6e\u653e\u5728\u4f60\u7684\u4e2a\u4eba ~/.gitconfig \u6587\u4ef6\u4e2d.\n"
::msgcat::mcset zh_cn "git-gui - a graphical user interface for Git." "git-gui - Git \u7684\u56fe\u5f62\u5316\u7528\u6237\u754c\u9762"
::msgcat::mcset zh_cn "File Viewer" "\u6587\u4ef6\u67e5\u770b\u5668"
::msgcat::mcset zh_cn "Commit:" "\u63d0\u4ea4:"
::msgcat::mcset zh_cn "Copy Commit" "\u590d\u5236\u63d0\u4ea4"
::msgcat::mcset zh_cn "Reading %s..." "\u8bfb\u53d6 %s..."
::msgcat::mcset zh_cn "Loading copy/move tracking annotations..." "\u88c5\u8f7d\u590d\u5236/\u79fb\u52a8\u8ddf\u8e2a\u6807\u6ce8..."
::msgcat::mcset zh_cn "lines annotated" "\u6807\u6ce8\u884c"
::msgcat::mcset zh_cn "Loading original location annotations..." "\u88c5\u8f7d\u539f\u59cb\u4f4d\u7f6e\u6807\u6ce8..."
::msgcat::mcset zh_cn "Annotation complete." "\u6807\u6ce8\u5b8c\u6210."
::msgcat::mcset zh_cn "Loading annotation..." "\u88dd\u8f09\u6807\u6ce8..."
::msgcat::mcset zh_cn "Author:" "\u4f5c\u8005:"
::msgcat::mcset zh_cn "Committer:" "\u63d0\u4ea4\u8005:"
::msgcat::mcset zh_cn "Original File:" "\u539f\u59cb\u6587\u4ef6:"
::msgcat::mcset zh_cn "Originally By:" "\u6700\u521d\u7531:"
::msgcat::mcset zh_cn "In File:" "\u5728\u6587\u4ef6:"
::msgcat::mcset zh_cn "Copied Or Moved Here By:" "\u7531\u590d\u5236\u6216\u79fb\u52a8\u81f3\u6b64:"
::msgcat::mcset zh_cn "Checkout Branch" "Checkout \u5206\u652f"
::msgcat::mcset zh_cn "Checkout" "Checkout"
::msgcat::mcset zh_cn "Cancel" "\u53d6\u6d88"
::msgcat::mcset zh_cn "Revision" "\u7248\u672c"
::msgcat::mcset zh_cn "Options" "\u9009\u9879..."
::msgcat::mcset zh_cn "Fetch Tracking Branch" "\u83b7\u53d6\u8ddf\u8e2a\u5206\u652f"
::msgcat::mcset zh_cn "Detach From Local Branch" "\u4ece\u672c\u5730\u5206\u652f\u8131\u79bb"
::msgcat::mcset zh_cn "Create Branch" "\u521b\u5efa\u5206\u652f"
::msgcat::mcset zh_cn "Create New Branch" "\u65b0\u5efa\u5206\u652f"
::msgcat::mcset zh_cn "Create" "\u65b0\u5efa"
::msgcat::mcset zh_cn "Branch Name" "\u5206\u652f\u540d"
::msgcat::mcset zh_cn "Name:" "\u540d\u5b57:"
::msgcat::mcset zh_cn "Match Tracking Branch Name" "\u5339\u914d\u8ddf\u8e2a\u5206\u652f\u540d\u5b57"
::msgcat::mcset zh_cn "Starting Revision" "\u8d77\u59cb\u7248\u672c"
::msgcat::mcset zh_cn "Update Existing Branch:" "\u66f4\u65b0\u5df2\u6709\u5206\u652f:"
::msgcat::mcset zh_cn "No" "\u53f7\u7801"
::msgcat::mcset zh_cn "Fast Forward Only" "\u4ec5\u5feb\u901f\u5408\u5e76"
::msgcat::mcset zh_cn "Reset" "\u590d\u4f4d"
::msgcat::mcset zh_cn "Checkout After Creation" "\u5728\u521b\u5efa\u540eCheckout"
::msgcat::mcset zh_cn "Please select a tracking branch." "\u8bf7\u9009\u62e9\u67d0\u4e2a\u8ddf\u8e2a\u5206\u652f."
::msgcat::mcset zh_cn "Tracking branch %s is not a branch in the remote repository." "\u8ddf\u8e2a\u5206\u652f %s \u5e76\u4e0d\u662f\u8fdc\u7aef\u7248\u672c\u5e93\u4e2d\u7684\u4e00\u4e2a\u5206\u652f"
::msgcat::mcset zh_cn "Please supply a branch name." "\u8bf7\u63d0\u4f9b\u5206\u652f\u540d\u5b57."
::msgcat::mcset zh_cn "'%s' is not an acceptable branch name." "'%s'\u4e0d\u662f\u4e00\u4e2a\u53ef\u63a5\u53d7\u7684\u5206\u652f\u540d."
::msgcat::mcset zh_cn "Delete Branch" "\u5220\u9664\u5206\u652f"
::msgcat::mcset zh_cn "Delete Local Branch" "\u5220\u9664\u672c\u5730\u5206\u652f"
::msgcat::mcset zh_cn "Local Branches" "\u672c\u5730\u5206\u652f"
::msgcat::mcset zh_cn "Delete Only If Merged Into" "\u4ec5\u5728\u5408\u5e76\u540e\u5220\u9664"
::msgcat::mcset zh_cn "Always (Do not perform merge test.)" "\u603b\u662f\u5408\u5e76 (\u4e0d\u4f5c\u5408\u5e76\u6d4b\u8bd5.)"
::msgcat::mcset zh_cn "The following branches are not completely merged into %s:" "\u4e0b\u5217\u5206\u652f\u6ca1\u6709\u5b8c\u5168\u88ab\u5408\u5e76\u5230 %s:"
::msgcat::mcset zh_cn "Failed to delete branches:\n%s" "\u65e0\u6cd5\u5220\u9664\u5206\u652f:\n%s"
::msgcat::mcset zh_cn "Rename Branch" "\u66f4\u6539\u5206\u652f\u540d:"
::msgcat::mcset zh_cn "Rename" "\u66f4\u540d..."
::msgcat::mcset zh_cn "Branch:" "\u5206\u652f:"
::msgcat::mcset zh_cn "New Name:" "\u65b0\u540d\u5b57:"
::msgcat::mcset zh_cn "Please select a branch to rename." "\u8bf7\u9009\u62e9\u5206\u652f\u66f4\u540d."
::msgcat::mcset zh_cn "Branch '%s' already exists." "\u5206\u652f '%s' \u5df2\u7ecf\u5b58\u5728."
::msgcat::mcset zh_cn "Failed to rename '%s'." "\u65e0\u6cd5\u66f4\u540d '%s'."
::msgcat::mcset zh_cn "Starting..." "\u5f00\u59cb..."
::msgcat::mcset zh_cn "File Browser" "\u6587\u4ef6\u6d4f\u89c8\u5668"
::msgcat::mcset zh_cn "Loading %s..." "\u88c5\u8f7d %s..."
::msgcat::mcset zh_cn "\[Up To Parent\]" "\[\u4e0a\u5c42\u76ee\u5f55\]"
::msgcat::mcset zh_cn "Browse Branch Files" "\u6d4f\u89c8\u5206\u652f\u6587\u4ef6"
::msgcat::mcset zh_cn "Browse" "\u6d4f\u89c8"
::msgcat::mcset zh_cn "Fetching %s from %s" "\u83b7\u53d6 %s \u81ea %s"
::msgcat::mcset zh_cn "fatal: Cannot resolve %s" "\u81f4\u547d\u9519\u8bef: \u65e0\u6cd5\u89e3\u51b3 %s"
::msgcat::mcset zh_cn "Close" "\u5173\u95ed"
::msgcat::mcset zh_cn "Branch '%s' does not exist." "\u5206\u652f '%s' \u5e76\u4e0d\u5b58\u5728."
::msgcat::mcset zh_cn "Branch '%s' already exists.\n\nIt cannot fast-forward to %s.\nA merge is required." "\u5206\u652f '%s' \u5df2\u7ecf\u5b58\u5728.\n\n\u65e0\u6cd5\u5feb\u901f\u5408\u5e76\u5230 %s.\n\u9700\u8981\u666e\u901a\u5408\u5e76."
::msgcat::mcset zh_cn "Merge strategy '%s' not supported." "\u5408\u5e76\u7b56\u7565 '%s' \u4e0d\u652f\u6301."
::msgcat::mcset zh_cn "Failed to update '%s'." "\u65e0\u6cd5\u66f4\u65b0 '%s'."
::msgcat::mcset zh_cn "Staging area (index) is already locked." "\u7f13\u5b58\u533a\u57df (index) \u5df2\u88ab\u9501\u5b9a."
::msgcat::mcset zh_cn "Last scanned state does not match repository state.\n\nAnother Git program has modified this repository since the last scan.  A rescan must be performed before the current branch can be changed.\n\nThe rescan will be automatically started now.\n" "\u6700\u540e\u4e00\u6b21\u626b\u63cf\u7684\u72b6\u6001\u548c\u5f53\u524d\u7248\u672c\u5e93\u72b6\u6001\u4e0d\u7b26.\n\n\u53e6\u4e00 Git \u7a0b\u5e8f\u81ea\u4e0a\u6b21\u626b\u63cf\u540e\u4fee\u6539\u4e86\u672c\u7248\u672c\u5e93. \u5728\u4fee\u6539\u5f53\u524d\u5206\u652f\u4e4b\u524d\u9700\u8981\u91cd\u65b0\u505a\u4e00\u6b21\u626b\u63cf.\n\n\u91cd\u65b0\u626b\u63cf\u5c06\u81ea\u52a8\u5f00\u59cb.\n"
::msgcat::mcset zh_cn "Updating working directory to '%s'..." "\u66f4\u65b0\u5de5\u4f5c\u76ee\u5f55\u5230 '%s'..."
::msgcat::mcset zh_cn "Aborted checkout of '%s' (file level merging is required)." "\u4e2d\u6b62 '%s' \u7684 checkout \u64cd\u4f5c (\u9700\u8981\u505a\u6587\u4ef6\u7ea7\u5408\u5e76)."
::msgcat::mcset zh_cn "File level merge required." "\u9700\u8981\u6587\u4ef6\u7ea7\u5408\u5e76."
::msgcat::mcset zh_cn "Staying on branch '%s'." "\u505c\u7559\u5728\u5206\u652f '%s'."
::msgcat::mcset zh_cn "You are no longer on a local branch.\n\nIf you wanted to be on a branch, create one now starting from 'This Detached Checkout'." "\u4f60\u4e0d\u5728\u67d0\u4e2a\u672c\u5730\u5206\u652f\u4e0a.\n\n\u5982\u679c\u4f60\u60f3\u4f4d\u4e8e\u67d0\u5206\u652f\u4e0a, \u4ece\u5f53\u524d\u8131\u8282\u7684Checkout\u4e2d\u521b\u5efa\u4e00\u4e2a\u65b0\u5206\u652f."
::msgcat::mcset zh_cn "Checked out '%s'." "'%s' \u5df2\u88ab checkout"
::msgcat::mcset zh_cn "Resetting '%s' to '%s' will lose the following commits:" "\u590d\u4f4d '%s' \u5230 '%s' \u5c06\u5bfc\u81f4\u4e0b\u5217\u63d0\u4ea4\u7684\u4e22\u5931:"
::msgcat::mcset zh_cn "Recovering lost commits may not be easy." "\u6062\u590d\u4e22\u5931\u7684\u63d0\u4ea4\u662f\u6bd4\u8f83\u56f0\u96be\u7684."
::msgcat::mcset zh_cn "Reset '%s'?" "\u590d\u4f4d '%s'?"
::msgcat::mcset zh_cn "Visualize" "\u56fe\u793a"
::msgcat::mcset zh_cn "Failed to set current branch.\n\nThis working directory is only partially switched.  We successfully updated your files, but failed to update an internal Git file.\n\nThis should not have occurred.  %s will now close and give up." "\u65e0\u6cd5\u8bbe\u5b9a\u5f53\u524d\u5206\u652f.\n\n\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\u4ec5\u6709\u90e8\u5206\u88ab\u5207\u6362\u51fa, \u6211\u4eec\u5df2\u6210\u529f\u7684\u66f4\u65b0\u4e86\u60a8\u7684\u6587\u4ef6\u4f46\u662f\u65e0\u6cd5\u66f4\u65b0\u67d0\u4e2a\u5185\u90e8\u7684Git\u6587\u4ef6.\n\n\u8fd9\u672c\u4e0d\u8be5\u53d1\u751f, %s \u5c06\u5173\u95ed\u5e76\u653e\u5f03."
::msgcat::mcset zh_cn "Select" "\u9009\u62e9"
::msgcat::mcset zh_cn "Font Family" "\u5b57\u4f53\u65cf"
::msgcat::mcset zh_cn "Font Size" "\u5b57\u4f53\u5927\u5c0f"
::msgcat::mcset zh_cn "Font Example" "\u5b57\u4f53\u6837\u4f8b"
::msgcat::mcset zh_cn "This is example text.\nIf you like this text, it can be your font." "\u8fd9\u662f\u6837\u4f8b\u6587\u672c.\n\u5982\u679c\u4f60\u559c\u6b22, \u4f60\u53ef\u4ee5\u8bbe\u7f6e\u8be5\u5b57\u4f53."
::msgcat::mcset zh_cn "Git Gui" "Git Gui"
::msgcat::mcset zh_cn "Create New Repository" "\u521b\u5efa\u65b0\u7684\u7248\u672c\u5e93"
::msgcat::mcset zh_cn "New..." "\u65b0\u5efa..."
::msgcat::mcset zh_cn "Clone Existing Repository" "\u514b\u9686\u5df2\u6709\u7248\u672c\u5e93"
::msgcat::mcset zh_cn "Clone..." "\u514b\u9686..."
::msgcat::mcset zh_cn "Open Existing Repository" "\u6253\u5f00\u5df2\u6709\u7248\u672c\u5e93"
::msgcat::mcset zh_cn "Open..." "\u6253\u5f00..."
::msgcat::mcset zh_cn "Recent Repositories" "\u6700\u8fd1\u7248\u672c\u5e93"
::msgcat::mcset zh_cn "Open Recent Repository:" "\u6253\u5f00\u6700\u8fd1\u7248\u672c\u5e93"
::msgcat::mcset zh_cn "Failed to create repository %s:" "\u65e0\u6cd5\u521b\u5efa\u7248\u672c\u5e93 %s:"
::msgcat::mcset zh_cn "Directory:" "\u76ee\u5f55:"
::msgcat::mcset zh_cn "Git Repository" "Git \u7248\u672c\u5e93"
::msgcat::mcset zh_cn "Directory %s already exists." "\u76ee\u5f55 %s \u5df2\u7ecf\u5b58\u5728."
::msgcat::mcset zh_cn "File %s already exists." "\u6587\u4ef6 %s \u5df2\u7ecf\u5b58\u5728."
::msgcat::mcset zh_cn "Clone" "\u514b\u9686"
::msgcat::mcset zh_cn "URL:" "URL:"
::msgcat::mcset zh_cn "Clone Type:" "\u514b\u9686\u7c7b\u578b:"
::msgcat::mcset zh_cn "Standard (Fast, Semi-Redundant, Hardlinks)" "\u6807\u51c6\u65b9\u5f0f (\u5feb\u901f, \u90e8\u5206\u5907\u4efd, \u4f5c\u786c\u8fde\u63a5)"
::msgcat::mcset zh_cn "Full Copy (Slower, Redundant Backup)" "\u5168\u90e8\u590d\u5236 (\u8f83\u6162, \u505a\u5907\u4efd)"
::msgcat::mcset zh_cn "Shared (Fastest, Not Recommended, No Backup)" "\u5171\u4eab\u65b9\u5f0f (\u6700\u5feb, \u4e0d\u63a8\u8350, \u4e0d\u505a\u5907\u4efd)"
::msgcat::mcset zh_cn "Not a Git repository: %s" "\u4e0d\u662f\u4e00\u4e2a Git \u7248\u672c\u5e93: %s"
::msgcat::mcset zh_cn "Standard only available for local repository." "\u6807\u51c6\u65b9\u5f0f\u4ec5\u5f53\u662f\u672c\u5730\u7248\u672c\u5e93\u65f6\u6709\u6548."
::msgcat::mcset zh_cn "Shared only available for local repository." "\u5171\u4eab\u65b9\u5f0f\u4ec5\u5f53\u662f\u672c\u5730\u7248\u672c\u5e93\u65f6\u6709\u6548."
::msgcat::mcset zh_cn "Location %s already exists." "\u4f4d\u7f6e %s \u5df2\u7ecf\u5b58\u5728."
::msgcat::mcset zh_cn "Failed to configure origin" "\u65e0\u6cd5\u914d\u7f6e origin"
::msgcat::mcset zh_cn "Counting objects" "\u6e05\u70b9\u5bf9\u8c61"
::msgcat::mcset zh_cn "Unable to copy objects/info/alternates: %s" "\u65e0\u6cd5\u590d\u5236 objects/info/alternates: %s"
::msgcat::mcset zh_cn "Nothing to clone from %s." "\u6ca1\u6709\u4e1c\u897f\u53ef\u4ece %s \u514b\u9686."
::msgcat::mcset zh_cn "The 'master' branch has not been initialized." "'master'\u5206\u652f\u5c1a\u672a\u521d\u59cb\u5316."
::msgcat::mcset zh_cn "Hardlinks are unavailable.  Falling back to copying." "\u786c\u8fde\u63a5\u4e0d\u53ef\u7528. \u4f7f\u7528\u590d\u5236."
::msgcat::mcset zh_cn "Cloning from %s" "\u4ece %s \u514b\u9686"
::msgcat::mcset zh_cn "Copying objects" "\u590d\u5236 objects"
::msgcat::mcset zh_cn "KiB" "KiB"
::msgcat::mcset zh_cn "Unable to copy object: %s" "\u65e0\u6cd5\u590d\u5236 object: %s"
::msgcat::mcset zh_cn "Linking objects" "\u94fe\u63a5 objects"
::msgcat::mcset zh_cn "objects" "objects"
::msgcat::mcset zh_cn "Unable to hardlink object: %s" "\u65e0\u6cd5\u786c\u94fe\u63a5 object: %s"
::msgcat::mcset zh_cn "Cannot fetch branches and objects.  See console output for details." "\u65e0\u6cd5\u83b7\u53d6\u5206\u652f\u548c\u5bf9\u8c61. \u8bf7\u67e5\u770b\u63a7\u5236\u7ec8\u7aef\u7684\u8f93\u51fa."
::msgcat::mcset zh_cn "Cannot fetch tags.  See console output for details." "\u65e0\u6cd5\u83b7\u53d6\u6807\u7b7e. \u8bf7\u67e5\u770b\u63a7\u5236\u7ec8\u7aef\u7684\u8f93\u51fa."
::msgcat::mcset zh_cn "Cannot determine HEAD.  See console output for details." "\u65e0\u6cd5\u786e\u5b9a HEAD. \u8bf7\u67e5\u770b\u63a7\u5236\u7ec8\u7aef\u7684\u8f93\u51fa."
::msgcat::mcset zh_cn "Unable to cleanup %s" "\u65e0\u6cd5\u6e05\u7406 %s"
::msgcat::mcset zh_cn "Clone failed." "\u514b\u9686\u5931\u8d25."
::msgcat::mcset zh_cn "No default branch obtained." "\u6ca1\u6709\u83b7\u53d6\u7f3a\u7701\u5206\u652f"
::msgcat::mcset zh_cn "Cannot resolve %s as a commit." "\u65e0\u6cd5\u89e3\u6790 %s \u4e3a\u63d0\u4ea4."
::msgcat::mcset zh_cn "Creating working directory" "\u521b\u5efa\u5de5\u4f5c\u76ee\u5f55"
::msgcat::mcset zh_cn "files" "\u6587\u4ef6"
::msgcat::mcset zh_cn "Initial file checkout failed." "\u521d\u59cb\u7684\u6587\u4ef6checkout\u5931\u8d25"
::msgcat::mcset zh_cn "Open" "\u6253\u5f00"
::msgcat::mcset zh_cn "Repository:" "\u7248\u672c\u5e93"
::msgcat::mcset zh_cn "Failed to open repository %s:" "\u65e0\u6cd5\u6253\u5f00\u7248\u672c\u5e93 %s:"
::msgcat::mcset zh_cn "This Detached Checkout" "\u8be5\u8131\u8282\u7684Checkout"
::msgcat::mcset zh_cn "Revision Expression:" "\u7248\u672c\u8868\u8fbe\u5f0f:"
::msgcat::mcset zh_cn "Local Branch" "\u672c\u5730\u5206\u652f"
::msgcat::mcset zh_cn "Tracking Branch" "\u8ddf\u8e2a\u5206\u652f:"
::msgcat::mcset zh_cn "Tag" "\u6807\u7b7e"
::msgcat::mcset zh_cn "Invalid revision: %s" "\u65e0\u6548\u7248\u672c: %s"
::msgcat::mcset zh_cn "No revision selected." "\u6ca1\u6709\u9009\u62e9\u7248\u672c."
::msgcat::mcset zh_cn "Revision expression is empty." "\u7248\u672c\u8868\u8fbe\u5f0f\u4e3a\u7a7a."
::msgcat::mcset zh_cn "Updated" "\u5df2\u66f4\u65b0"
::msgcat::mcset zh_cn "URL" "URL"
::msgcat::mcset zh_cn "There is nothing to amend.\n\nYou are about to create the initial commit.  There is no commit before this to amend.\n" "\u6ca1\u6709\u6539\u52a8\u9700\u8981\u4fee\u6b63.\n\n\u4f60\u6b63\u5728\u521b\u5efa\u6700\u521d\u7684\u63d0\u4ea4. \u5728\u6b64\u4e4b\u524d\u6ca1\u6709\u63d0\u4ea4\u53ef\u4ee5\u4fee\u6b63.\n"
::msgcat::mcset zh_cn "Cannot amend while merging.\n\nYou are currently in the middle of a merge that has not been fully completed.  You cannot amend the prior commit unless you first abort the current merge activity.\n" "\u5728\u5408\u5e76\u65f6\u65e0\u6cd5\u4fee\u6b63.\n\n\u4f60\u5f53\u524d\u6b63\u5728\u4e00\u6b21\u5c1a\u672a\u5b8c\u6210\u7684\u5408\u5e76\u64cd\u4f5c\u8fc7\u7a0b\u4e2d. \u9664\u975e\u4e2d\u6b62\u5f53\u524d\u5408\u5e76\u6d3b\u52a8,\n\u5426\u5219\u65e0\u6cd5\u4fee\u6b63\u4e4b\u524d\u7684\u63d0\u4ea4.\n"
::msgcat::mcset zh_cn "Error loading commit data for amend:" "\u4e3a\u4fee\u6b63\u88c5\u8f7d\u63d0\u4ea4\u6570\u636e\u51fa\u9519:"
::msgcat::mcset zh_cn "Unable to obtain your identity:" "\u65e0\u6cd5\u83b7\u77e5\u4f60\u7684\u8eab\u4efd:"
::msgcat::mcset zh_cn "Invalid GIT_COMMITTER_IDENT:" "\u65e0\u6548\u7684 GIT_COMMITTER_IDENT"
::msgcat::mcset zh_cn "Last scanned state does not match repository state.\n\nAnother Git program has modified this repository since the last scan.  A rescan must be performed before another commit can be created.\n\nThe rescan will be automatically started now.\n" "\u6700\u540e\u4e00\u6b21\u626b\u63cf\u7684\u72b6\u6001\u548c\u5f53\u524d\u7248\u672c\u5e93\u72b6\u6001\u4e0d\u7b26.\n\n\u53e6\u4e00 Git \u7a0b\u5e8f\u81ea\u4e0a\u6b21\u626b\u63cf\u540e\u4fee\u6539\u4e86\u672c\u7248\u672c\u5e93. \u5728\u4fee\u6539\u5f53\u524d\u5206\u652f\u4e4b\u524d\u9700\u8981\u91cd\u65b0\u505a\u4e00\u6b21\u626b\u63cf.\n\n\u91cd\u65b0\u626b\u63cf\u5c06\u81ea\u52a8\u5f00\u59cb.\n"
::msgcat::mcset zh_cn "Unmerged files cannot be committed.\n\nFile %s has merge conflicts.  You must resolve them and stage the file before committing.\n" "\u5c1a\u672a\u5408\u5e76\u7684\u6587\u4ef6\u6ca1\u6709\u529e\u6cd5\u63d0\u4ea4.\n\n\u6587\u4ef6 %s \u6709\u5408\u5e76\u51b2\u7a81, \u4f60\u5fc5\u987b\u89e3\u51b3\u8fd9\u4e9b\u51b2\u7a81\u5e76\u7f13\u5b58\u8be5\u6587\u4ef6\u4f5c\u63d0\u4ea4.\n"
::msgcat::mcset zh_cn "Unknown file state %s detected.\n\nFile %s cannot be committed by this program.\n" "\u68c0\u6d4b\u5230\u672a\u77e5\u6587\u4ef6\u72b6\u6001 %s.\n\n\u6587\u4ef6 %s \u65e0\u6cd5\u7531\u8be5\u7a0b\u5e8f\u63d0\u4ea4.\n"
::msgcat::mcset zh_cn "No changes to commit.\n\nYou must stage at least 1 file before you can commit.\n" "\u6ca1\u6709\u9700\u8981\u63d0\u4ea4\u7684\u53d8\u52a8.\n\n\u63d0\u4ea4\u524d\u4f60\u5fc5\u987b\u9996\u5148\u7f13\u5b58\u81f3\u5c11\u4e00\u4e2a\u6587\u4ef6.\n"
::msgcat::mcset zh_cn "Please supply a commit message.\n\nA good commit message has the following format:\n\n- First line: Describe in one sentence what you did.\n- Second line: Blank\n- Remaining lines: Describe why this change is good.\n" "\u8bf7\u63d0\u4f9b\u4e00\u6761\u63d0\u4ea4\u4fe1\u606f.\n\n\u4e00\u6761\u597d\u7684\u63d0\u4ea4\u4fe1\u606f\u6709\u4e0b\u5217\u683c\u5f0f:\n\n- \u7b2c\u4e00\u884c: \u4e00\u53e5\u8bdd\u6982\u62ec\u4f60\u505a\u7684\u4fee\u6539.\n- \u7b2c\u4e8c\u884c: \u7a7a\u884c\n- \u5269\u4f59\u884c: \u8bf7\u63cf\u8ff0\u4e3a\u4ec0\u4e48\u4f60\u505a\u7684\u8fd9\u4e9b\u6539\u52a8\u662f\u597d\u7684.\n"
::msgcat::mcset zh_cn "warning: Tcl does not support encoding '%s'." "\u8b66\u544a: Tcl \u4e0d\u652f\u6301\u7f16\u7801\u65b9\u5f0f '%s'."
::msgcat::mcset zh_cn "write-tree failed:" "write-tree \u5931\u8d25:"
::msgcat::mcset zh_cn "Commit %s appears to be corrupt" "\u63d0\u4ea4 %s \u4f3c\u4e4e\u5df2\u635f\u574f"
::msgcat::mcset zh_cn "No changes to commit.\n\nNo files were modified by this commit and it was not a merge commit.\n\nA rescan will be automatically started now.\n" "\u6ca1\u6709\u6539\u52a8\u63d0\u4ea4.\n\n\u8be5\u63d0\u4ea4\u6ca1\u6709\u6539\u52a8\u4efb\u4f55\u6587\u4ef6\u4e5f\u4e0d\u662f\u4e00\u4e2a\u5408\u5e76\u63d0\u4ea4.\n\n\u91cd\u65b0\u626b\u63cf\u5c06\u81ea\u52a8\u5f00\u59cb.\n"
::msgcat::mcset zh_cn "No changes to commit." "\u6ca1\u6709\u6539\u52a8\u8981\u63d0\u4ea4."
::msgcat::mcset zh_cn "commit-tree failed:" "commit-tree \u5931\u8d25:"
::msgcat::mcset zh_cn "update-ref failed:" "update-ref \u5931\u8d25:"
::msgcat::mcset zh_cn "Created commit %s: %s" "\u521b\u5efa\u4e86 commit %s: %s"
::msgcat::mcset zh_cn "Working... please wait..." "\u5de5\u4f5c\u4e2d... \u8bf7\u7b49\u5f85..."
::msgcat::mcset zh_cn "Success" "\u6210\u529f"
::msgcat::mcset zh_cn "Error: Command Failed" "\u9519\u8bef: \u547d\u4ee4\u5931\u8d25"
::msgcat::mcset zh_cn "Number of loose objects" "\u677e\u6563\u5bf9\u8c61\u7684\u6570\u91cf"
::msgcat::mcset zh_cn "Disk space used by loose objects" "\u677e\u6563\u5bf9\u8c61\u6240\u4f7f\u7528\u7684\u78c1\u76d8\u7a7a\u95f4"
::msgcat::mcset zh_cn "Number of packed objects" "\u538b\u7f29\u5bf9\u8c61\u6570\u91cf"
::msgcat::mcset zh_cn "Number of packs" "\u538b\u7f29\u5305\u6570\u91cf"
::msgcat::mcset zh_cn "Disk space used by packed objects" "\u538b\u7f29\u5bf9\u8c61\u6240\u4f7f\u7528\u7684\u78c1\u76d8\u7a7a\u95f4"
::msgcat::mcset zh_cn "Packed objects waiting for pruning" "\u538b\u7f29\u5bf9\u8c61\u7b49\u5f85\u6e05\u7406"
::msgcat::mcset zh_cn "Garbage files" "\u5783\u573e\u6587\u4ef6"
::msgcat::mcset zh_cn "Compressing the object database" "\u538b\u7f29\u5bf9\u8c61\u6570\u636e\u5e93"
::msgcat::mcset zh_cn "Verifying the object database with fsck-objects" "\u4f7f\u7528 fsck-objects \u9a8c\u8bc1\u5bf9\u8c61\u6570\u636e\u5e93"
::msgcat::mcset zh_cn "This repository currently has approximately %i loose objects.\n\nTo maintain optimal performance it is strongly recommended that you compress the database when more than %i loose objects exist.\n\nCompress the database now?" "\u8be5\u7248\u672c\u5e93\u5f53\u524d\u7ea6\u6709 %i \u4e2a\u677e\u6563\u5bf9\u8c61.\n\n\u4e3a\u8fbe\u5230\u8f83\u4f18\u7684\u6027\u80fd\uff0c\u5f3a\u70c8\u5efa\u8bae\u4f60\u5728\u677e\u6563\u5bf9\u8c61\u591a\u4e8e %i \u65f6\u538b\u7f29\u6570\u636e\u5e93.\n\n\u73b0\u5728\u5c31\u538b\u7f29\u6570\u636e\u5e93\u4e48?"
::msgcat::mcset zh_cn "Invalid date from Git: %s" "\u65e0\u6548\u7684\u65e5\u671f: %s"
::msgcat::mcset zh_cn "No differences detected.\n\n%s has no changes.\n\nThe modification date of this file was updated by another application, but the content within the file was not changed.\n\nA rescan will be automatically started to find other files which may have the same state." "\u672a\u68c0\u6d4b\u5230\u6539\u52a8.\n\n\u8be5\u6587\u4ef6\u7684\u4fee\u6539\u65e5\u671f\u88ab\u53e6\u4e00\u4e2a\u7a0b\u5e8f\u6240\u66f4\u65b0, \u4f46\u5176\u5185\u5bb9\u5e76\u6ca1\u6709\u53d8\u5316.\n\n\u5bf9\u4e8e\u7c7b\u4f3c\u60c5\u51b5\u7684\u5176\u4ed6\u6587\u4ef6\u7684\u91cd\u65b0\u626b\u63cf\u5c06\u81ea\u52a8\u5f00\u59cb."
::msgcat::mcset zh_cn "Unable to display %s" "\u65e0\u6cd5\u663e\u793a %s"
::msgcat::mcset zh_cn "Error loading file:" "\u88c5\u8f7d\u6587\u4ef6\u51fa\u9519:"
::msgcat::mcset zh_cn "Git Repository (subproject)" "Git \u7248\u672c\u5e93 (\u5b50\u9879\u76ee)"
::msgcat::mcset zh_cn "* Binary file (not showing content)." "* \u4e8c\u8fdb\u5236\u6587\u4ef6 (\u4e0d\u663e\u793a\u5185\u5bb9)."
::msgcat::mcset zh_cn "Error loading diff:" "\u88c5\u8f7d diff \u9519\u8bef:"
::msgcat::mcset zh_cn "Failed to unstage selected hunk." "\u65e0\u6cd5\u5c06\u9009\u62e9\u7684\u4ee3\u7801\u6bb5\u4ece\u7f13\u5b58\u4e2d\u5220\u9664."
::msgcat::mcset zh_cn "Failed to stage selected hunk." "\u65e0\u6cd5\u7f13\u5b58\u6240\u9009\u4ee3\u7801\u6bb5."
::msgcat::mcset zh_cn "error" "\u9519\u8bef"
::msgcat::mcset zh_cn "warning" "\u8b66\u544a"
::msgcat::mcset zh_cn "You must correct the above errors before committing." "\u4f60\u5fc5\u987b\u5728\u63d0\u4ea4\u524d\u4fee\u6b63\u4e0a\u8ff0\u9519\u8bef."
::msgcat::mcset zh_cn "Unable to unlock the index." "\u65e0\u6cd5\u89e3\u9501\u7f13\u5b58 (index)"
::msgcat::mcset zh_cn "Index Error" "\u7f13\u5b58(Index)\u9519\u8bef"
::msgcat::mcset zh_cn "Updating the Git index failed.  A rescan will be automatically started to resynchronize git-gui." "\u66f4\u65b0 Git \u7f13\u5b58(Index)\u5931\u8d25, \u91cd\u65b0\u626b\u63cf\u5c06\u81ea\u52a8\u5f00\u59cb\u4ee5\u91cd\u65b0\u540c\u6b65 git-gui."
::msgcat::mcset zh_cn "Continue" "\u7ee7\u7eed"
::msgcat::mcset zh_cn "Unlock Index" "\u89e3\u9501 Index"
::msgcat::mcset zh_cn "Unstaging %s from commit" "\u4ece\u63d0\u4ea4\u7f13\u5b58\u4e2d\u5220\u9664 %s"
::msgcat::mcset zh_cn "Adding %s" "\u6dfb\u52a0 %s"
::msgcat::mcset zh_cn "Revert changes in file %s?" "\u64a4\u9500\u6587\u4ef6 %s \u4e2d\u7684\u6539\u52a8?"
::msgcat::mcset zh_cn "Revert changes in these %i files?" "\u64a4\u9500\u8fd9\u4e9b (%i\u4e2a) \u6587\u4ef6\u7684\u6539\u52a8?"
::msgcat::mcset zh_cn "Any unstaged changes will be permanently lost by the revert." "\u4efb\u4f55\u672a\u7f13\u5b58\u7684\u6539\u52a8\u5c06\u5728\u8fd9\u6b21\u64a4\u9500\u4e2d\u6c38\u4e45\u4e22\u5931."
::msgcat::mcset zh_cn "Do Nothing" "\u4e0d\u505a\u64cd\u4f5c"
::msgcat::mcset zh_cn "Cannot merge while amending.\n\nYou must finish amending this commit before starting any type of merge.\n" "\u4fee\u6b63\u65f6\u65e0\u6cd5\u505a\u5408\u5e76.\n\n\u4f60\u5fc5\u987b\u5b8c\u6210\u5bf9\u8be5\u63d0\u4ea4\u7684\u4fee\u6b63\u624d\u80fd\u7ee7\u7eed\u4efb\u4f55\u7c7b\u578b\u7684\u5408\u5e76\u64cd\u4f5c.\n"
::msgcat::mcset zh_cn "Last scanned state does not match repository state.\n\nAnother Git program has modified this repository since the last scan.  A rescan must be performed before a merge can be performed.\n\nThe rescan will be automatically started now.\n" "\u6700\u540e\u4e00\u6b21\u626b\u63cf\u7684\u72b6\u6001\u548c\u5f53\u524d\u7248\u672c\u5e93\u72b6\u6001\u4e0d\u7b26.\n\n\u53e6\u4e00 Git \u7a0b\u5e8f\u81ea\u4e0a\u6b21\u626b\u63cf\u540e\u4fee\u6539\u4e86\u672c\u7248\u672c\u5e93. \u5728\u4fee\u6539\u5f53\u524d\u5206\u652f\u4e4b\u524d\u9700\u8981\u91cd\u65b0\u505a\u4e00\u6b21\u626b\u63cf.\n\n\u91cd\u65b0\u626b\u63cf\u5c06\u81ea\u52a8\u5f00\u59cb.\n"
::msgcat::mcset zh_cn "You are in the middle of a conflicted merge.\n\nFile %s has merge conflicts.\n\nYou must resolve them, stage the file, and commit to complete the current merge.  Only then can you begin another merge.\n" "\u4f60\u6b63\u5904\u5728\u4e00\u4e2a\u6709\u51b2\u7a81\u7684\u5408\u5e76\u64cd\u4f5c\u4e2d.\n\n\u6587\u4ef6 %s \u6709\u5408\u5e76\u51b2\u7a81.\n\n\u4f60\u5fc5\u987b\u89e3\u51b3\u8fd9\u4e9b\u51b2\u7a81, \u7f13\u5b58\u8be5\u6587\u4ef6, \u5e76\u63d0\u4ea4\u6765\u5b8c\u6210\u5f53\u524d\u7684\u5408\u5e76.\u4ec5\u5f53\u8fd9\u6837\u540e\u624d\u80fd\u5f00\u59cb\u4e0b\u4e00\u4e2a\u5408\u5e76\u64cd\u4f5c.\n"
::msgcat::mcset zh_cn "You are in the middle of a change.\n\nFile %s is modified.\n\nYou should complete the current commit before starting a merge.  Doing so will help you abort a failed merge, should the need arise.\n" "\u4f60\u6b63\u5904\u5728\u4e00\u4e2a\u6539\u52a8\u5f53\u4e2d.\n\n\u6587\u4ef6 %s \u5df2\u88ab\u4fee\u6539.\n\n\u4f60\u5fc5\u987b\u5b8c\u6210\u5f53\u524d\u7684\u63d0\u4ea4\u540e\u624d\u80fd\u5f00\u59cb\u5408\u5e76. \u5982\u679c\u9700\u8981, \u8fd9\u4e48\u505a\u5c06\u6709\u52a9\u4e8e\u4e2d\u6b62\u4e00\u6b21\u5931\u8d25\u7684\u5408\u5e76.\n"
::msgcat::mcset zh_cn "Merge completed successfully." "\u5408\u5e76\u6210\u529f\u5b8c\u6210."
::msgcat::mcset zh_cn "Merge failed.  Conflict resolution is required." "\u5408\u5e76\u5931\u8d25. \u9700\u8981\u89e3\u51b3\u51b2\u7a81."
::msgcat::mcset zh_cn "Merge Into %s" "\u5408\u5e76\u5230 %s"
::msgcat::mcset zh_cn "Revision To Merge" "\u8981\u5408\u5e76\u7684\u7248\u672c"
::msgcat::mcset zh_cn "Cannot abort while amending.\n\nYou must finish amending this commit.\n" "\u4fee\u6b63\u64cd\u4f5c\u4e2d\u65e0\u6cd5\u4e2d\u6b62.\n\n\u4f60\u5fc5\u987b\u5148\u5b8c\u6210\u672c\u6b21\u4fee\u6b63\u64cd\u4f5c.\n"
::msgcat::mcset zh_cn "Abort merge?\n\nAborting the current merge will cause *ALL* uncommitted changes to be lost.\n\nContinue with aborting the current merge?" "\u4e2d\u6b62\u5408\u5e76?\n\n\u4e2d\u6b62\u5f53\u524d\u7684\u5408\u5e76\u64cd\u4f5c\u5c06\u5bfc\u81f4 *\u6240\u6709* \u5c1a\u672a\u63d0\u4ea4\u7684\u6539\u52a8\u4e22\u5931.\n\n\u662f\u5426\u8981\u7ee7\u7eed\u4e2d\u6b62\u5f53\u524d\u7684\u5408\u5e76\u64cd\u4f5c?"
::msgcat::mcset zh_cn "Reset changes?\n\nResetting the changes will cause *ALL* uncommitted changes to be lost.\n\nContinue with resetting the current changes?" "\u662f\u5426\u590d\u4f4d\u5f53\u524d\u6539\u52a8?\n\n\u590d\u4f4d\u5f53\u524d\u7684\u6539\u52a8\u5c06\u5bfc\u81f4 *\u6240\u6709* \u672a\u63d0\u4ea4\u7684\u6539\u52a8\u4e22\u5931.\n\n\u662f\u5426\u8981\u7ee7\u7eed\u590d\u4f4d\u5f53\u524d\u7684\u6539\u52a8?"
::msgcat::mcset zh_cn "Aborting" "\u4e2d\u6b62"
::msgcat::mcset zh_cn "Abort failed." "\u4e2d\u6b62\u5931\u8d25"
::msgcat::mcset zh_cn "Abort completed.  Ready." "\u4e2d\u6b62\u5b8c\u6210. \u5c31\u7eea."
::msgcat::mcset zh_cn "Restore Defaults" "\u6062\u590d\u9ed8\u8ba4\u503c"
::msgcat::mcset zh_cn "Save" "\u4fdd\u5b58"
::msgcat::mcset zh_cn "%s Repository" "%s \u7248\u672c\u5e93"
::msgcat::mcset zh_cn "Global (All Repositories)" "\u5168\u5c40 (\u6240\u6709\u7248\u672c\u5e93)"
::msgcat::mcset zh_cn "User Name" "\u7528\u6237\u540d"
::msgcat::mcset zh_cn "Email Address" "Email \u5730\u5740"
::msgcat::mcset zh_cn "Summarize Merge Commits" "\u6982\u8ff0\u5408\u5e76\u63d0\u4ea4:"
::msgcat::mcset zh_cn "Merge Verbosity" "\u5408\u5e76\u5197\u4f59\u5ea6"
::msgcat::mcset zh_cn "Show Diffstat After Merge" "\u5728\u5408\u5e76\u540e\u663e\u793a Diffstat"
::msgcat::mcset zh_cn "Trust File Modification Timestamps" "\u76f8\u4fe1\u6587\u4ef6\u7684\u6539\u52a8\u65f6\u95f4"
::msgcat::mcset zh_cn "Prune Tracking Branches During Fetch" "\u83b7\u53d6\u65f6\u6e05\u9664\u8ddf\u8e2a\u5206\u652f"
::msgcat::mcset zh_cn "Match Tracking Branches" "\u5339\u914d\u8ddf\u8e2a\u5206\u652f"
::msgcat::mcset zh_cn "Number of Diff Context Lines" "Diff \u4e0a\u4e0b\u6587\u884c\u6570"
::msgcat::mcset zh_cn "New Branch Name Template" "\u65b0\u5efa\u5206\u652f\u547d\u540d\u6a21\u677f"
::msgcat::mcset zh_cn "Change Font" "\u66f4\u6539\u5b57\u4f53"
::msgcat::mcset zh_cn "Choose %s" "\u9009\u62e9 %s"
::msgcat::mcset zh_cn "pt." "\u78c5"
::msgcat::mcset zh_cn "Preferences" "\u9996\u9009\u9879"
::msgcat::mcset zh_cn "Failed to completely save options:" "\u65e0\u6cd5\u5b8c\u5168\u4fdd\u5b58\u9009\u9879:"
::msgcat::mcset zh_cn "Delete Remote Branch" "\u5220\u9664\u8fdc\u7aef\u5206\u652f"
::msgcat::mcset zh_cn "From Repository" "\u4ece\u7248\u672c\u5e93"
::msgcat::mcset zh_cn "Remote:" "Remote:"
::msgcat::mcset zh_cn "Arbitrary URL:" "\u4efb\u610f URL:"
::msgcat::mcset zh_cn "Branches" "\u5206\u652f"
::msgcat::mcset zh_cn "Delete Only If" "\u5220\u9664\u4ec5\u5f53"
::msgcat::mcset zh_cn "Merged Into:" "\u5408\u5e76\u5230"
::msgcat::mcset zh_cn "Always (Do not perform merge checks)" "\u603b\u662f\u5408\u5e76 (\u4e0d\u4f5c\u5408\u5e76\u68c0\u67e5)"
::msgcat::mcset zh_cn "A branch is required for 'Merged Into'." "'\u5408\u5e76\u5230' \u9700\u8981\u6307\u5b9a\u67d0\u4e2a\u5206\u652f"
::msgcat::mcset zh_cn "The following branches are not completely merged into %s:\n\n - %s" "\u4e0b\u5217\u5206\u652f\u6ca1\u6709\u88ab\u5168\u90e8\u5408\u5e76\u5230 %s \u4e2d:\n\n - %s"
::msgcat::mcset zh_cn "One or more of the merge tests failed because you have not fetched the necessary commits.  Try fetching from %s first." "\u7531\u4e8e\u6ca1\u6709\u83b7\u53d6\u5230\u5fc5\u8981\u7684\u63d0\u4ea4\uff0c\u4e00\u4e2a\u6216\u591a\u4e2a\u5408\u5e76\u6d4b\u8bd5\u5931\u8d25\u3002\u8bf7\u5c1d\u8bd5\u4ece %s \u5904\u5148\u83b7\u53d6\u3002"
::msgcat::mcset zh_cn "Please select one or more branches to delete." "\u8bf7\u9009\u62e9\u67d0\u4e2a\u6216\u591a\u4e2a\u5206\u652f\u6765\u5220\u9664"
::msgcat::mcset zh_cn "Recovering deleted branches is difficult.\n\nDelete the selected branches?" "\u6062\u590d\u88ab\u5220\u9664\u7684\u5206\u652f\u975e\u5e38\u56f0\u96be.\n\n\u662f\u5426\u8981\u5220\u9664\u6240\u9009\u5206\u652f?"
::msgcat::mcset zh_cn "Deleting branches from %s" "\u4ece %s \u4e2d\u5220\u9664\u5206\u652f"
::msgcat::mcset zh_cn "No repository selected." "\u6ca1\u6709\u9009\u62e9\u7248\u672c\u5e93"
::msgcat::mcset zh_cn "Scanning %s..." "\u6b63\u5728\u626b\u63cf %s..."
::msgcat::mcset zh_cn "Prune from" "\u4ece..\u6e05\u9664(prune)"
::msgcat::mcset zh_cn "Fetch from" "\u4ece..\u83b7\u53d6(fetch)"
::msgcat::mcset zh_cn "Push to" "\u4e0a\u4f20\u5230(push)"
::msgcat::mcset zh_cn "Cannot write shortcut:" "\u65e0\u6cd5\u4fee\u6539\u5feb\u6377\u65b9\u5f0f:"
::msgcat::mcset zh_cn "Cannot write icon:" "\u65e0\u6cd5\u4fee\u6539\u56fe\u6807:"
::msgcat::mcset zh_cn "%s ... %*i of %*i %s (%3i%%)" "%s ... %*i of %*i %s (%3i%%)"
::msgcat::mcset zh_cn "fetch %s" "\u83b7\u53d6(fetch)"
::msgcat::mcset zh_cn "Fetching new changes from %s" "\u4ece %s \u5904\u83b7\u53d6\u65b0\u7684\u6539\u52a8"
::msgcat::mcset zh_cn "remote prune %s" "\u6e05\u9664\u8fdc\u7aef %s"
::msgcat::mcset zh_cn "Pruning tracking branches deleted from %s" "\u6e05\u9664"
::msgcat::mcset zh_cn "push %s" "\u4e0a\u4f20 %s"
::msgcat::mcset zh_cn "Pushing changes to %s" "\u4e0a\u4f20\u6539\u52a8\u5230 %s"
::msgcat::mcset zh_cn "Pushing %s %s to %s" "\u4e0a\u4f20 %s %s \u5230 %s"
::msgcat::mcset zh_cn "Push Branches" "\u4e0a\u4f20\u5206\u652f"
::msgcat::mcset zh_cn "Source Branches" "\u6e90\u7aef\u5206\u652f:"
::msgcat::mcset zh_cn "Destination Repository" "\u76ee\u6807\u7248\u672c\u5e93"
::msgcat::mcset zh_cn "Transfer Options" "\u4f20\u8f93\u9009\u9879"
::msgcat::mcset zh_cn "Force overwrite existing branch (may discard changes)" "\u5f3a\u5236\u8986\u76d6\u5df2\u6709\u7684\u5206\u652f (\u53ef\u80fd\u4f1a\u4e22\u5931\u6539\u52a8)"
::msgcat::mcset zh_cn "Use thin pack (for slow network connections)" "\u4f7f\u7528 thin pack (\u9002\u7528\u4e8e\u4f4e\u901f\u7f51\u7edc\u8fde\u63a5)"
::msgcat::mcset zh_cn "Include tags" "\u5305\u542b\u6807\u7b7e"
View Code

新建 /mingw64/share/gitk/lib/msgs/zh_cn.msg 文件:

set ::msgcat::header "Project-Id-Version: Git Chinese Localization Project\nReport-Msgid-Bugs-To: \nPO-Revision-Date: 2017-03-11 02:27+0800\nLast-Translator: YanKe <imyanke@163.com>\nLanguage-Team: Chinese\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nLanguage: zh_CN\n"
::msgcat::mcset zh_cn "Couldn't get list of unmerged files:" "\u4e0d\u80fd\u83b7\u53d6\u672a\u5408\u5e76\u6587\u4ef6\u5217\u8868\uff1a"
::msgcat::mcset zh_cn "Color words" "\u7740\u8272\u663e\u793a\u5dee\u5f02"
::msgcat::mcset zh_cn "Markup words" "\u6807\u8bb0\u663e\u793a\u5dee\u5f02"
::msgcat::mcset zh_cn "Error parsing revisions:" "\u89e3\u6790\u7248\u672c\u9519\u8bef\uff1a"
::msgcat::mcset zh_cn "Error executing --argscmd command:" "\u8fd0\u884c --argscmd\u547d\u4ee4\u51fa\u9519"
::msgcat::mcset zh_cn "No files selected: --merge specified but no files are unmerged." "\u6ca1\u6709\u9009\u4e2d\u6587\u4ef6\uff1a--\u6307\u5b9amerge\u53c2\u6570\u4f46\u6ca1\u6709\u672a\u5408\u5e76\u7684\u6587\u4ef6\u3002"
::msgcat::mcset zh_cn "No files selected: --merge specified but no unmerged files are within file limit." "\u6ca1\u6709\u9009\u4e2d\u6587\u4ef6\uff1a--\u6307\u5b9amerge\u53c2\u6570\u4f46\u6ca1\u6709\u672a\u5408\u5e76\u7684\u6587\u4ef6\u5728\u6587\u4ef6\u4e2d"
::msgcat::mcset zh_cn "Error executing git log:" "\u6267\u884cgit log\u547d\u4ee4\u51fa\u9519\uff1a"
::msgcat::mcset zh_cn "Reading" "\u8bfb\u53d6\u4e2d"
::msgcat::mcset zh_cn "Reading commits..." "\u63d0\u4ea4\u8bb0\u5f55\u8bfb\u53d6\u4e2d..."
::msgcat::mcset zh_cn "No commits selected" "\u672a\u9009\u4e2d\u4efb\u4f55\u63d0\u4ea4"
::msgcat::mcset zh_cn "Command line" "\u547d\u4ee4\u884c"
::msgcat::mcset zh_cn "Can't parse git log output:" "\u4e0d\u80fd\u89e3\u6790git log\u8f93\u51fa\uff1a"
::msgcat::mcset zh_cn "No commit information available" "\u65e0\u53ef\u7528\u63d0\u4ea4\u4fe1\u606f"
::msgcat::mcset zh_cn "OK" "\u786e\u5b9a"
::msgcat::mcset zh_cn "Cancel" "\u53d6\u6d88"
::msgcat::mcset zh_cn "&Update" "\u66f4\u65b0"
::msgcat::mcset zh_cn "&Reload" "\u91cd\u65b0\u52a0\u8f7d"
::msgcat::mcset zh_cn "Reread re&ferences" "\u91cd\u65b0\u8bfb\u53d6\u5f15\u7528"
::msgcat::mcset zh_cn "&List references" "\u5217\u51fa\u5f15\u7528(\u5206\u652f\u4ee5\u53catag)"
::msgcat::mcset zh_cn "Start git &gui" "\u542f\u52a8git gui\u5ba2\u6237\u7aef"
::msgcat::mcset zh_cn "&Quit" "\u9000\u51fa"
::msgcat::mcset zh_cn "&File" "\u6587\u4ef6"
::msgcat::mcset zh_cn "&Preferences" "\u504f\u597d\u8bbe\u7f6e"
::msgcat::mcset zh_cn "&Edit" "\u7f16\u8f91"
::msgcat::mcset zh_cn "&New view..." "\u65b0\u89c6\u56fe..."
::msgcat::mcset zh_cn "&Edit view..." "\u7f16\u8f91\u89c6\u56fe..."
::msgcat::mcset zh_cn "&Delete view" "\u5220\u9664\u89c6\u56fe"
::msgcat::mcset zh_cn "&All files" "\u6240\u6709\u6587\u4ef6"
::msgcat::mcset zh_cn "&View" "\u89c6\u56fe"
::msgcat::mcset zh_cn "&About gitk" "\u5173\u4e8egitk"
::msgcat::mcset zh_cn "&Key bindings" "\u5feb\u6377\u952e"
::msgcat::mcset zh_cn "&Help" "\u5e2e\u52a9"
::msgcat::mcset zh_cn "SHA1 ID:" "SHA1 ID\uff1a"
::msgcat::mcset zh_cn "Row" "\u884c"
::msgcat::mcset zh_cn "Find" "\u67e5\u627e"
::msgcat::mcset zh_cn "commit" "\u63d0\u4ea4"
::msgcat::mcset zh_cn "containing:" "\u5305\u542b\uff1a"
::msgcat::mcset zh_cn "touching paths:" "\u5f71\u54cd\u8def\u5f84\uff1a"
::msgcat::mcset zh_cn "adding/removing string:" "\u589e\u52a0/\u5220\u9664\u5b57\u7b26\u4e32\uff1a"
::msgcat::mcset zh_cn "changing lines matching:" "\u6539\u53d8\u884c\u5339\u914d\uff1a"
::msgcat::mcset zh_cn "Exact" "\u7cbe\u786e\u5339\u914d"
::msgcat::mcset zh_cn "IgnCase" "\u5ffd\u7565\u5927\u5c0f\u5199"
::msgcat::mcset zh_cn "Regexp" "\u6b63\u5219"
::msgcat::mcset zh_cn "All fields" "\u6240\u6709\u5b57\u6bb5"
::msgcat::mcset zh_cn "Headline" "\u6807\u9898"
::msgcat::mcset zh_cn "Comments" "\u63d0\u4ea4\u6ce8\u91ca"
::msgcat::mcset zh_cn "Author" "\u4f5c\u8005"
::msgcat::mcset zh_cn "Committer" "\u63d0\u4ea4\u8005"
::msgcat::mcset zh_cn "Search" "\u641c\u7d22"
::msgcat::mcset zh_cn "Diff" "\u5dee\u5f02"
::msgcat::mcset zh_cn "Old version" "\u8001\u7248\u672c"
::msgcat::mcset zh_cn "New version" "\u65b0\u7248\u672c"
::msgcat::mcset zh_cn "Lines of context" "Diff\u4e0a\u4e0b\u6587\u663e\u793a\u884c\u6570"
::msgcat::mcset zh_cn "Ignore space change" "\u5ffd\u7565\u7a7a\u683c\u4fee\u6539"
::msgcat::mcset zh_cn "Line diff" "\u6309\u884c\u663e\u793a\u5dee\u5f02"
::msgcat::mcset zh_cn "Patch" "\u8865\u4e01"
::msgcat::mcset zh_cn "Tree" "\u6811"
::msgcat::mcset zh_cn "Diff this -> selected" "\u6bd4\u8f83\u4ece\u5f53\u524d\u63d0\u4ea4\u5230\u9009\u4e2d\u63d0\u4ea4\u7684\u5dee\u5f02"
::msgcat::mcset zh_cn "Diff selected -> this" "\u6bd4\u8f83\u4ece\u9009\u4e2d\u63d0\u4ea4\u5230\u5f53\u524d\u63d0\u4ea4\u7684\u5dee\u5f02"
::msgcat::mcset zh_cn "Make patch" "\u5236\u4f5c\u8865\u4e01"
::msgcat::mcset zh_cn "Create tag" "\u521b\u5efatag"
::msgcat::mcset zh_cn "Copy commit summary" "\u590d\u5236\u63d0\u4ea4\u6458\u8981"
::msgcat::mcset zh_cn "Write commit to file" "\u5199\u5165\u63d0\u4ea4\u5230\u6587\u4ef6"
::msgcat::mcset zh_cn "Create new branch" "\u521b\u5efa\u65b0\u5206\u652f"
::msgcat::mcset zh_cn "Cherry-pick this commit" "\u5728\u6b64\u63d0\u4ea4\u8fd0\u7528\u8865\u4e01(cherry-pick)\u547d\u4ee4"
::msgcat::mcset zh_cn "Reset HEAD branch to here" "\u5c06\u5206\u652f\u5934(HEAD)\u91cd\u7f6e\u5230\u6b64\u5904"
::msgcat::mcset zh_cn "Mark this commit" "\u6807\u8bb0\u6b64\u63d0\u4ea4"
::msgcat::mcset zh_cn "Return to mark" "\u8fd4\u56de\u5230\u6807\u8bb0"
::msgcat::mcset zh_cn "Find descendant of this and mark" "\u67e5\u627e\u672c\u6b21\u63d0\u4ea4\u7684\u5b50\u63d0\u4ea4\u5e76\u6807\u8bb0"
::msgcat::mcset zh_cn "Compare with marked commit" "\u548c\u5df2\u6807\u8bb0\u7684\u63d0\u4ea4\u4f5c\u6bd4\u8f83"
::msgcat::mcset zh_cn "Diff this -> marked commit" "\u6bd4\u8f83\u4ece\u5f53\u524d\u63d0\u4ea4\u5230\u5df2\u6807\u8bb0\u63d0\u4ea4\u7684\u5dee\u5f02"
::msgcat::mcset zh_cn "Diff marked commit -> this" "\u6bd4\u8f83\u4ece\u5df2\u6807\u8bb0\u63d0\u4ea4\u5230\u5f53\u524d\u63d0\u4ea4\u7684\u5dee\u5f02"
::msgcat::mcset zh_cn "Revert this commit" "\u64a4\u9500(revert)\u6b64\u63d0\u4ea4"
::msgcat::mcset zh_cn "Check out this branch" "\u68c0\u51fa(checkout)\u6b64\u5206\u652f"
::msgcat::mcset zh_cn "Rename this branch" "\u91cd\u547d\u540d(Rename)\u6b64\u5206\u652f"
::msgcat::mcset zh_cn "Remove this branch" "\u5220\u9664(Remove)\u6b64\u5206\u652f"
::msgcat::mcset zh_cn "Copy branch name" "\u590d\u5236\u5206\u652f\u540d\u79f0"
::msgcat::mcset zh_cn "Highlight this too" "\u9ad8\u4eae\u6b64\u5904"
::msgcat::mcset zh_cn "Highlight this only" "\u53ea\u9ad8\u4eae\u6b64\u5904"
::msgcat::mcset zh_cn "External diff" "\u5916\u90e8diff"
::msgcat::mcset zh_cn "Blame parent commit" "Blame\u7236\u63d0\u4ea4"
::msgcat::mcset zh_cn "Copy path" "\u590d\u5236\u8def\u5f84"
::msgcat::mcset zh_cn "Show origin of this line" "\u663e\u793a\u6b64\u884c\u539f\u59cb\u63d0\u4ea4"
::msgcat::mcset zh_cn "Run git gui blame on this line" "\u5728\u6b64\u884c\u8fd0\u884cgit gui\u5ba2\u6237\u7aef\u7684blame"
::msgcat::mcset zh_cn "About gitk" "\u5173\u4e8egitk"
::msgcat::mcset zh_cn "\nGitk - a commit viewer for git\n\nCopyright \u00a9 2005-2016 Paul Mackerras\n\nUse and redistribute under the terms of the GNU General Public License" "\nGitk \u2014 \u4e00\u4e2agit\u7684\u63d0\u4ea4\u67e5\u770b\u5668\n\n\u00a9 2005-2016 Paul Mackerras\n\n\u5728GNU\u8bb8\u53ef\u8bc1\u4e0b\u4f7f\u7528\u4ee5\u53ca\u5206\u53d1"
::msgcat::mcset zh_cn "Close" "\u5173\u95ed"
::msgcat::mcset zh_cn "Gitk key bindings" "Gitk\u5feb\u6377\u952e"
::msgcat::mcset zh_cn "Gitk key bindings:" "Gitk\u5feb\u6377\u952e\uff1a"
::msgcat::mcset zh_cn "<%s-Q>\u0009\u0009Quit" "<%s-Q>\u0009\u0009\u9000\u51fa"
::msgcat::mcset zh_cn "<%s-W>\u0009\u0009Close window" "<%s-W>\u0009\u0009\u5173\u95ed\u7a97\u53e3"
::msgcat::mcset zh_cn "<Home>\u0009\u0009Move to first commit" "<Home>\u0009\u0009\u79fb\u52a8\u5230\u7b2c\u4e00\u6b21\u63d0\u4ea4"
::msgcat::mcset zh_cn "<End>\u0009\u0009Move to last commit" "<End>\u0009\u0009\u79fb\u52a8\u5230\u6700\u540e\u4e00\u6b21\u63d0\u4ea4"
::msgcat::mcset zh_cn "<Up>, p, k\u0009Move up one commit" "<Up>, p, k\u0009\u79fb\u52a8\u5230\u4e0a\u4e00\u6b21\u63d0\u4ea4"
::msgcat::mcset zh_cn "<Down>, n, j\u0009Move down one commit" "<Down>, n, j\u0009\u79fb\u52a8\u5230\u4e0b\u4e00\u6b21\u63d0\u4ea4"
::msgcat::mcset zh_cn "<Left>, z, h\u0009Go back in history list" "<Left>, z, h\u0009\u5386\u53f2\u5217\u8868\u7684\u4e0a\u4e00\u9879"
::msgcat::mcset zh_cn "<Right>, x, l\u0009Go forward in history list" "<Right>, x, l\u0009\u5386\u53f2\u5217\u8868\u7684\u4e0b\u4e00\u9879"
::msgcat::mcset zh_cn "<%s-n>\u0009Go to n-th parent of current commit in history list" "<%s-n>\u0009\u5728\u5386\u53f2\u5217\u8868\u4e2d\u524d\u5f80\u672c\u6b21\u63d0\u4ea4\u7684\u7b2cn\u4e2a\u7236\u63d0\u4ea4"
::msgcat::mcset zh_cn "<PageUp>\u0009Move up one page in commit list" "<PageUp>\u0009\u4e0a\u4e00\u9875\u63d0\u4ea4\u5217\u8868"
::msgcat::mcset zh_cn "<PageDown>\u0009Move down one page in commit list" "<PageDown>\u0009\u4e0b\u4e00\u9875\u63d0\u4ea4\u5217\u8868"
::msgcat::mcset zh_cn "<%s-Home>\u0009Scroll to top of commit list" "<%s-Home>\u0009\u6eda\u52a8\u5230\u63d0\u4ea4\u5217\u8868\u9876\u90e8"
::msgcat::mcset zh_cn "<%s-End>\u0009Scroll to bottom of commit list" "<%s-End>\u0009\u6eda\u52a8\u5230\u63d0\u4ea4\u5217\u8868\u5e95\u90e8"
::msgcat::mcset zh_cn "<%s-Up>\u0009Scroll commit list up one line" "<%s-Up>\u0009\u5411\u4e0a\u6eda\u52a8\u4e00\u884c\u63d0\u4ea4\u5217\u8868"
::msgcat::mcset zh_cn "<%s-Down>\u0009Scroll commit list down one line" "<%s-Down>\u0009\u5411\u4e0b\u6eda\u52a8\u4e00\u884c\u63d0\u4ea4\u5217\u8868"
::msgcat::mcset zh_cn "<%s-PageUp>\u0009Scroll commit list up one page" "<%s-PageUp>\u0009\u5411\u4e0a\u6eda\u52a8\u4e00\u9875\u63d0\u4ea4\u5217\u8868"
::msgcat::mcset zh_cn "<%s-PageDown>\u0009Scroll commit list down one page" "<%s-PageDown>\u0009\u5411\u4e0b\u6eda\u52a8\u4e00\u9875\u63d0\u4ea4\u5217\u8868"
::msgcat::mcset zh_cn "<Shift-Up>\u0009Find backwards (upwards, later commits)" "<Shift-Up>\u0009\u5411\u540e\u67e5\u627e(\u5411\u4e0a\u7684\uff0c\u66f4\u665a\u7684\u63d0\u4ea4)"
::msgcat::mcset zh_cn "<Shift-Down>\u0009Find forwards (downwards, earlier commits)" "<Shift-Down>\u0009\u5411\u524d\u67e5\u627e(\u5411\u4e0b\u7684\uff0c\u66f4\u65e9\u7684\u63d0\u4ea4)"
::msgcat::mcset zh_cn "<Delete>, b\u0009Scroll diff view up one page" "<Delete>, b\u0009\u5411\u4e0a\u6eda\u52a8diff\u89c6\u56fe\u4e00\u9875"
::msgcat::mcset zh_cn "<Backspace>\u0009Scroll diff view up one page" "<Backspace>\u0009\u5411\u4e0a\u6eda\u52a8diff\u89c6\u56fe\u4e00\u9875"
::msgcat::mcset zh_cn "<Space>\u0009\u0009Scroll diff view down one page" "<Space>\u0009\u0009\u5411\u4e0b\u6eda\u52a8diff\u89c6\u56fe\u4e00\u9875"
::msgcat::mcset zh_cn "u\u0009\u0009Scroll diff view up 18 lines" "u\u0009\u0009\u5411\u4e0a\u6eda\u52a8diff\u89c6\u56fe18\u884c"
::msgcat::mcset zh_cn "d\u0009\u0009Scroll diff view down 18 lines" "d\u0009\u0009\u5411\u4e0b\u6eda\u52a8diff\u89c6\u56fe18\u884c"
::msgcat::mcset zh_cn "<%s-F>\u0009\u0009Find" "<%s-F>\u0009\u0009\u67e5\u627e"
::msgcat::mcset zh_cn "<%s-G>\u0009\u0009Move to next find hit" "<%s-G>\u0009\u0009\u79fb\u52a8\u5230\u4e0b\u4e00\u6b21\u67e5\u627e\u547d\u4e2d"
::msgcat::mcset zh_cn "<Return>\u0009Move to next find hit" "<Return>\u0009\u0009\u79fb\u52a8\u5230\u4e0b\u4e00\u6b21\u67e5\u627e\u547d\u4e2d"
::msgcat::mcset zh_cn "g\u0009\u0009Go to commit" "g\u0009\u0009\u8f6c\u5230\u63d0\u4ea4"
::msgcat::mcset zh_cn "/\u0009\u0009Focus the search box" "/\u0009\u0009\u9009\u4e2d\u641c\u7d22\u6846"
::msgcat::mcset zh_cn "?\u0009\u0009Move to previous find hit" "?\u0009\u0009\u79fb\u52a8\u5230\u4e0a\u4e00\u6b21\u67e5\u627e\u547d\u4e2d"
::msgcat::mcset zh_cn "f\u0009\u0009Scroll diff view to next file" "f\u0009\u0009\u6eda\u52a8diff\u89c6\u56fe\u5230\u4e0b\u4e00\u4e2a\u6587\u4ef6"
::msgcat::mcset zh_cn "<%s-S>\u0009\u0009Search for next hit in diff view" "<%s-S>\u0009\u0009\u5728diff\u89c6\u56fe\u4e2d\u67e5\u627e\u4e0b\u4e00\u6b64\u547d\u4e2d"
::msgcat::mcset zh_cn "<%s-R>\u0009\u0009Search for previous hit in diff view" "<%s-R>\u0009\u0009\u5728diff\u89c6\u56fe\u4e2d\u67e5\u627e\u4e0a\u4e00\u6b21\u547d\u4e2d"
::msgcat::mcset zh_cn "<%s-KP+>\u0009Increase font size" "<%s-KP+>\u0009\u589e\u5927\u5b57\u4f53\u5927\u5c0f"
::msgcat::mcset zh_cn "<%s-plus>\u0009Increase font size" "<%s-plus>\u0009\u589e\u5927\u5b57\u4f53\u5927\u5c0f"
::msgcat::mcset zh_cn "<%s-KP->\u0009Decrease font size" "<%s-KP->\u0009\u51cf\u5c0f\u5b57\u4f53\u5927\u5c0f"
::msgcat::mcset zh_cn "<%s-minus>\u0009Decrease font size" "<%s-minus>\u0009\u51cf\u5c0f\u5b57\u4f53\u5927\u5c0f"
::msgcat::mcset zh_cn "<F5>\u0009\u0009Update" "<F5>\u0009\u0009\u66f4\u65b0"
::msgcat::mcset zh_cn "Error creating temporary directory %s:" "\u521b\u5efa\u4e34\u65f6\u76ee\u5f55\u51fa\u9519%s\uff1a"
::msgcat::mcset zh_cn "Error getting \"%s\" from %s:" "\u4ece%s\u83b7\u53d6\"%s\"\u51fa\u9519\uff1a"
::msgcat::mcset zh_cn "command failed:" "\u6267\u884c\u547d\u4ee4\u5931\u8d25\uff1a"
::msgcat::mcset zh_cn "No such commit" "\u65e0\u6b64\u63d0\u4ea4"
::msgcat::mcset zh_cn "git gui blame: command failed:" "git gui blame\uff1a\u6267\u884c\u547d\u4ee4\u5931\u8d25\uff1a"
::msgcat::mcset zh_cn "Couldn't read merge head: %s" "\u4e0d\u80fd\u8bfb\u53d6\u5408\u5e76\u5934(merge head)\uff1a%s"
::msgcat::mcset zh_cn "Error reading index: %s" "\u8bfb\u53d6\u7d22\u5f15\u51fa\u9519\uff1a%s"
::msgcat::mcset zh_cn "Couldn't start git blame: %s" "\u4e0d\u80fd\u6267\u884cgit blame\uff1a%s"
::msgcat::mcset zh_cn "Searching" "\u641c\u7d22\u4e2d"
::msgcat::mcset zh_cn "Error running git blame: %s" "\u8fd0\u884cgit blame\u51fa\u9519\uff1a%s"
::msgcat::mcset zh_cn "That line comes from commit %s,  which is not in this view" "\u6b64\u884c\u6765\u81ea\u63d0\u4ea4%s\uff0c\u4e0d\u5728\u6b64\u89c6\u56fe\u4e2d"
::msgcat::mcset zh_cn "External diff viewer failed:" "\u5916\u90e8diff\u67e5\u770b\u5668\u5931\u8d25\uff1a"
::msgcat::mcset zh_cn "All files" "\u6240\u6709\u6587\u4ef6"
::msgcat::mcset zh_cn "View" "\u89c6\u56fe"
::msgcat::mcset zh_cn "Gitk view definition" "Gitk\u89c6\u56fe\u5b9a\u4e49"
::msgcat::mcset zh_cn "Remember this view" "\u8bb0\u4f4f\u6b64\u89c6\u56fe"
::msgcat::mcset zh_cn "References (space separated list):" "\u5f15\u7528(\u7a7a\u683c\u5207\u5206\u7684\u5217\u8868)\uff1a"
::msgcat::mcset zh_cn "Branches & tags:" "\u5206\u652f\u548ctags"
::msgcat::mcset zh_cn "All refs" "\u6240\u6709\u5f15\u7528"
::msgcat::mcset zh_cn "All (local) branches" "\u6240\u6709(\u672c\u5730)\u5206\u652f"
::msgcat::mcset zh_cn "All tags" "\u6240\u6709tag"
::msgcat::mcset zh_cn "All remote-tracking branches" "\u6240\u6709\u8fdc\u7a0b\u8ddf\u8e2a\u5206\u652f"
::msgcat::mcset zh_cn "Commit Info (regular expressions):" "\u63d0\u4ea4\u4fe1\u606f (\u6b63\u5219\u8868\u8fbe\u5f0f)\uff1a"
::msgcat::mcset zh_cn "Author:" "\u4f5c\u8005\uff1a"
::msgcat::mcset zh_cn "Committer:" "\u63d0\u4ea4\u8005\uff1a"
::msgcat::mcset zh_cn "Commit Message:" "\u63d0\u4ea4\u4fe1\u606f\uff1a"
::msgcat::mcset zh_cn "Matches all Commit Info criteria" "\u5339\u914d\u6240\u6709\u63d0\u4ea4\u4fe1\u606f\u6807\u51c6"
::msgcat::mcset zh_cn "Matches no Commit Info criteria" "\u5339\u914d\u65e0\u63d0\u4ea4\u4fe1\u606f\u6807\u51c6"
::msgcat::mcset zh_cn "Changes to Files:" "\u6587\u4ef6\u4fee\u6539\u5217\u8868\uff1a"
::msgcat::mcset zh_cn "Fixed String" "\u56fa\u5b9a\u5b57\u7b26\u4e32"
::msgcat::mcset zh_cn "Regular Expression" "\u6b63\u5219\u8868\u8fbe\u5f0f\uff1a"
::msgcat::mcset zh_cn "Search string:" "\u641c\u7d22\u5b57\u7b26\u4e32\uff1a"
::msgcat::mcset zh_cn "Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 15:27:38\"):" "\u63d0\u4ea4\u65e5\u671f (\"2\u661f\u671f\u4e4b\u524d\", \"2009-03-17 15:27:38\", \"5\u6708 17, 2009 15:27:38\"):"
::msgcat::mcset zh_cn "Since:" "\u81ea\uff1a"
::msgcat::mcset zh_cn "Until:" "\u5230\uff1a"
::msgcat::mcset zh_cn "Limit and/or skip a number of revisions (positive integer):" "\u9650\u5236 \u4e14/\u6216 \u8df3\u8fc7\u4e00\u5b9a\u6570\u91cf\u7684\u7248\u672c(\u6b63\u6574\u6570)\uff1a"
::msgcat::mcset zh_cn "Number to show:" "\u663e\u793a\u6570\u91cf\uff1a"
::msgcat::mcset zh_cn "Number to skip:" "\u8df3\u8fc7\u6570\u91cf\uff1a"
::msgcat::mcset zh_cn "Miscellaneous options:" "\u5176\u4ed6\u9009\u9879\uff1a"
::msgcat::mcset zh_cn "Strictly sort by date" "\u4e25\u683c\u6309\u65e5\u671f\u6574\u7406"
::msgcat::mcset zh_cn "Mark branch sides" "\u6807\u8bb0\u5206\u652f\u8fb9\u754c"
::msgcat::mcset zh_cn "Limit to first parent" "\u9650\u5236\u5230\u7b2c\u4e00\u4e2a\u7236\u63d0\u4ea4"
::msgcat::mcset zh_cn "Simple history" "\u7b80\u6613\u5386\u53f2"
::msgcat::mcset zh_cn "Additional arguments to git log:" "git log\u547d\u4ee4\u7684\u989d\u5916\u53c2\u6570\uff1a"
::msgcat::mcset zh_cn "Enter files and directories to include, one per line:" "\u8f93\u5165\u6587\u4ef6\u548c\u6587\u4ef6\u5939\u6765\u5f15\u7528\uff0c\u6bcf\u884c\u4e00\u4e2a\uff1a"
::msgcat::mcset zh_cn "Command to generate more commits to include:" "\u547d\u4ee4\u4ea7\u751f\u66f4\u591a\u7684\u63d0\u4ea4\u6765\u5f15\u7528\uff1a"
::msgcat::mcset zh_cn "Gitk: edit view" "Gitk: \u7f16\u8f91\u89c6\u56fe"
::msgcat::mcset zh_cn "-- criteria for selecting revisions" "-- \u7528\u6765\u9009\u62e9\u7248\u672c\u7684\u89c4\u5219"
::msgcat::mcset zh_cn "View Name" "\u89c6\u56fe\u540d\u79f0"
::msgcat::mcset zh_cn "Apply (F5)" "\u5e94\u7528(F5)"
::msgcat::mcset zh_cn "Error in commit selection arguments:" "\u63d0\u4ea4\u9009\u62e9\u53c2\u6570\u9519\u8bef\uff1a"
::msgcat::mcset zh_cn "None" "\u65e0"
::msgcat::mcset zh_cn "Descendant" "\u5b50\u63d0\u4ea4"
::msgcat::mcset zh_cn "Not descendant" "\u975e\u5b50\u63d0\u4ea4"
::msgcat::mcset zh_cn "Ancestor" "\u7236\u63d0\u4ea4"
::msgcat::mcset zh_cn "Not ancestor" "\u975e\u7236\u63d0\u4ea4"
::msgcat::mcset zh_cn "Local changes checked in to index but not committed" "\u5df2\u6dfb\u52a0\u5230\u7d22\u5f15\u4f46\u672a\u63d0\u4ea4\u7684\u4fee\u6539"
::msgcat::mcset zh_cn "Local uncommitted changes, not checked in to index" "\u672a\u6dfb\u52a0\u5230\u7d22\u5f15\u4e14\u672a\u63d0\u4ea4\u7684\u4fee\u6539"
::msgcat::mcset zh_cn "and many more" "\u66f4\u591a"
::msgcat::mcset zh_cn "many" "\u5f88\u591a"
::msgcat::mcset zh_cn "Tags:" "Tags:"
::msgcat::mcset zh_cn "Parent" "\u7236\u8282\u70b9"
::msgcat::mcset zh_cn "Child" "\u5b50\u8282\u70b9"
::msgcat::mcset zh_cn "Branch" "\u5206\u652f"
::msgcat::mcset zh_cn "Follows" "\u4e4b\u540e\u7684tag"
::msgcat::mcset zh_cn "Precedes" "\u4e4b\u524d\u7684tag"
::msgcat::mcset zh_cn "Error getting diffs: %s" "\u83b7\u53d6\u5dee\u5f02\u9519\u8bef\uff1a%s"
::msgcat::mcset zh_cn "Goto:" "\u8f6c\u5230\uff1a"
::msgcat::mcset zh_cn "Short SHA1 id %s is ambiguous" "\u77ed\u683c\u5f0f\u7684SHA1\u63d0\u4ea4\u53f7%s\u4e0d\u660e\u786e\u3001\u6709\u6b67\u4e49"
::msgcat::mcset zh_cn "Revision %s is not known" "\u7248\u672c%s\u672a\u77e5"
::msgcat::mcset zh_cn "SHA1 id %s is not known" "\u63d0\u4ea4\u53f7(SHA1 id)%s\u672a\u77e5"
::msgcat::mcset zh_cn "Revision %s is not in the current view" "\u7248\u672c%s\u4e0d\u5728\u5f53\u524d\u89c6\u56fe\u4e2d"
::msgcat::mcset zh_cn "Date" "\u65e5\u671f"
::msgcat::mcset zh_cn "Children" "\u5b50\u8282\u70b9"
::msgcat::mcset zh_cn "Reset %s branch to here" "\u91cd\u7f6e\u5206\u652f%s\u5230\u6b64\u5904"
::msgcat::mcset zh_cn "Detached head: can't reset" "\u5206\u79bb\u7684\u5934(head)\uff1a\u4e0d\u80fd\u91cd\u7f6e(reset)"
::msgcat::mcset zh_cn "Skipping merge commit " "\u8df3\u8fc7\u5408\u5e76\u63d0\u4ea4"
::msgcat::mcset zh_cn "Error getting patch ID for " "\u83b7\u53d6\u8865\u4e01ID\u51fa\u9519"
::msgcat::mcset zh_cn " - stopping\n" " \u2014 \u505c\u6b62\u4e2d\n"
::msgcat::mcset zh_cn "Commit " "\u63d0\u4ea4"
::msgcat::mcset zh_cn " is the same patch as\n       " " \u662f\u76f8\u540c\u7684\u8865\u4e01(patch)\n       "
::msgcat::mcset zh_cn " differs from\n       " " \u5dee\u5f02\u6765\u81ea\n       "
::msgcat::mcset zh_cn "Diff of commits:\n\n" "\u63d0\u4ea4\u7684\u5dee\u5f02(Diff)\uff1a\n\n"
::msgcat::mcset zh_cn " has %s children - stopping\n" "\u6709%s\u5b50\u8282\u70b9 \u2014 \u505c\u6b62\u4e2d\n"
::msgcat::mcset zh_cn "Error writing commit to file: %s" "\u5199\u5165\u63d0\u4ea4\u5230\u6587\u4ef6\u51fa\u9519\uff1a%s"
::msgcat::mcset zh_cn "Error diffing commits: %s" "\u6bd4\u8f83\u63d0\u4ea4\u5dee\u5f02\u51fa\u9519\uff1a%s"
::msgcat::mcset zh_cn "Top" "\u9876\u90e8"
::msgcat::mcset zh_cn "From" "\u4ece"
::msgcat::mcset zh_cn "To" "\u5230"
::msgcat::mcset zh_cn "Generate patch" "\u751f\u6210\u8865\u4e01(patch)"
::msgcat::mcset zh_cn "From:" "\u4ece\uff1a"
::msgcat::mcset zh_cn "To:" "\u5230\uff1a"
::msgcat::mcset zh_cn "Reverse" "\u53cd\u5411(Reverse)"
::msgcat::mcset zh_cn "Output file:" "\u8f93\u51fa\u6587\u4ef6\uff1a"
::msgcat::mcset zh_cn "Generate" "\u751f\u6210"
::msgcat::mcset zh_cn "Error creating patch:" "\u521b\u5efa\u8865\u4e01(patch)\u51fa\u9519\uff1a"
::msgcat::mcset zh_cn "ID:" "ID:"
::msgcat::mcset zh_cn "Tag name:" "Tag\u540d\u79f0\uff1a"
::msgcat::mcset zh_cn "Tag message is optional" "Tag\u4fe1\u606f\u662f\u53ef\u9009\u7684"
::msgcat::mcset zh_cn "Tag message:" "Tag\u4fe1\u606f\uff1a"
::msgcat::mcset zh_cn "Create" "\u521b\u5efa"
::msgcat::mcset zh_cn "No tag name specified" "\u672a\u6307\u5b9atag\u540d\u79f0"
::msgcat::mcset zh_cn "Tag \"%s\" already exists" "Tag\"%s\"\u5df2\u7ecf\u5b58\u5728"
::msgcat::mcset zh_cn "Error creating tag:" "\u521b\u5efatag\u51fa\u9519\uff1a"
::msgcat::mcset zh_cn "Command:" "\u547d\u4ee4\uff1a"
::msgcat::mcset zh_cn "Write" "\u5199\u5165"
::msgcat::mcset zh_cn "Error writing commit:" "\u5199\u5165\u63d0\u4ea4\u51fa\u9519\uff1a"
::msgcat::mcset zh_cn "Create branch" "\u521b\u5efa\u5206\u652f"
::msgcat::mcset zh_cn "Rename branch %s" "\u91cd\u547d\u540d\u5206\u652f%s"
::msgcat::mcset zh_cn "Rename" "\u91cd\u547d\u540d"
::msgcat::mcset zh_cn "Name:" "\u540d\u79f0\uff1a"
::msgcat::mcset zh_cn "Please specify a name for the new branch" "\u8bf7\u6307\u5b9a\u65b0\u5206\u652f\u7684\u540d\u79f0"
::msgcat::mcset zh_cn "Branch '%s' already exists. Overwrite?" "\u5206\u652f\"%s\"\u5df2\u7ecf\u5b58\u5728\u3002\u8986\u76d6\u5b83\uff1f"
::msgcat::mcset zh_cn "Please specify a new name for the branch" "\u8bf7\u91cd\u65b0\u6307\u5b9a\u65b0\u5206\u652f\u7684\u540d\u79f0"
::msgcat::mcset zh_cn "Commit %s is already included in branch %s -- really re-apply it?" "\u63d0\u4ea4%s\u5df2\u7ecf\u5b58\u5728\u4e8e\u5206\u652f%s\u3002\u786e\u5b9a\u91cd\u65b0\u5e94\u7528\u5b83\uff1f"
::msgcat::mcset zh_cn "Cherry-picking" "\u6253\u8865\u4e01\u4e2d(Cherry-picking)"
::msgcat::mcset zh_cn "Cherry-pick failed because of local changes to file '%s'.\nPlease commit, reset or stash your changes and try again." "\u6253\u8865\u4e01(Cherry-pick)\u5931\u8d25\uff0c\u56e0\u4e3a\u672c\u5730\u4fee\u6539\u4e86\u6587\u4ef6\"%s\"\u3002\n\u8bf7\u63d0\u4ea4(commit)\u3001\u91cd\u7f6e(reset)\u6216\u6682\u5b58(stash)\u4fee\u6539\u540e\u91cd\u8bd5\u3002"
::msgcat::mcset zh_cn "Cherry-pick failed because of merge conflict.\nDo you wish to run git citool to resolve it?" "\u6253\u8865\u4e01(Cherry-pick)\u5931\u8d25\u56e0\u4e3a\u5408\u5e76\u51b2\u7a81\u3002\n\u4f60\u662f\u5426\u5e0c\u671b\u8fd0\u884cgit citool \u6765\u89e3\u51b3\u51b2\u7a81\uff1f"
::msgcat::mcset zh_cn "No changes committed" "\u65e0\u5df2\u7ecf\u63d0\u4ea4\u7684\u4fee\u6539"
::msgcat::mcset zh_cn "Commit %s is not included in branch %s -- really revert it?" "\u63d0\u4ea4%s\u4e0d\u5305\u542b\u5728\u5206\u652f%s\u4e2d\uff0c\u786e\u8ba4\u56de\u6eda(revert)\u5b83\uff1f"
::msgcat::mcset zh_cn "Reverting" "\u56de\u6eda\u4e2d(Reverting)"
::msgcat::mcset zh_cn "Revert failed because of local changes to the following files:%s Please commit, reset or stash  your changes and try again." "\u56de\u6eda(revert)\u5931\u8d25\uff0c\u56e0\u4e3a\u5982\u4e0b\u7684\u672c\u5730\u6587\u4ef6\u4fee\u6539\uff1a%s\n\u8bf7\u63d0\u4ea4(commit)\u3001\u91cd\u7f6e(reset)\u6216\u8005\u6682\u5b58(stash)\u6539\u53d8\u540e\u91cd\u8bd5\u3002"
::msgcat::mcset zh_cn "Revert failed because of merge conflict.\n Do you wish to run git citool to resolve it?" "\u56de\u6eda(revert)\u5931\u8d25\uff0c\u56e0\u4e3a\u5408\u5e76\u51b2\u7a81\u3002\n\u4f60\u662f\u5426\u5e0c\u671b\u8fd0\u884cgit citool\u6765\u89e3\u51b3\u51b2\u7a81\uff1f"
::msgcat::mcset zh_cn "Confirm reset" "\u786e\u8ba4\u91cd\u7f6e(reset)"
::msgcat::mcset zh_cn "Reset branch %s to %s?" "\u91cd\u7f6e(reset)\u5206\u652f%s\u5230%s\uff1f"
::msgcat::mcset zh_cn "Reset type:" "\u91cd\u7f6e(reset)\u7c7b\u578b\uff1a"
::msgcat::mcset zh_cn "Soft: Leave working tree and index untouched" "\u8f6f\u6027\uff1a\u79bb\u5f00\u5de5\u4f5c\u6811\uff0c\u7d22\u5f15\u672a\u6539\u53d8"
::msgcat::mcset zh_cn "Mixed: Leave working tree untouched, reset index" "\u6df7\u5408\uff1a\u79bb\u5f00\u5de5\u4f5c\u6811(\u672a\u6539\u53d8)\uff0c\u7d22\u5f15\u91cd\u7f6e"
::msgcat::mcset zh_cn "Hard: Reset working tree and index\n(discard ALL local changes)" "\u786c\u6027\uff1a\u91cd\u7f6e\u5de5\u4f5c\u6811\u548c\u7d22\u5f15\n(\u4e22\u5f03\u6240\u6709\u7684\u672c\u5730\u4fee\u6539)"
::msgcat::mcset zh_cn "Resetting" "\u91cd\u7f6e\u4e2d(Resetting)"
::msgcat::mcset zh_cn "A local branch named %s exists already" "\u672c\u5730\u5206\u652f%s\u5df2\u7ecf\u5b58\u5728"
::msgcat::mcset zh_cn "Checking out" "\u68c0\u51fa\u4e2d(Checking out)"
::msgcat::mcset zh_cn "Cannot delete the currently checked-out branch" "\u4e0d\u80fd\u5220\u9664\u5f53\u524d\u68c0\u51fa(checkout)\u5206\u652f"
::msgcat::mcset zh_cn "The commits on branch %s aren't on any other branch.\nReally delete branch %s?" "\u5728\u5206\u652f%s\u4e0a\u7684\u63d0\u4ea4\u4e0d\u5728\u5176\u4ed6\u4efb\u4f55\u5206\u652f\u4e0a\u3002\n\u786e\u8ba4\u5220\u9664\u5206\u652f%s\uff1f"
::msgcat::mcset zh_cn "Tags and heads: %s" "Tags\u548c\u5934\u6307\u9488(heads)\uff1a%s"
::msgcat::mcset zh_cn "Filter" "\u8fc7\u6ee4\u5668"
::msgcat::mcset zh_cn "Error reading commit topology information; branch and preceding/following tag information will be incomplete." "\u8bfb\u53d6\u63d0\u4ea4\u62d3\u6251\u4fe1\u606f\u51fa\u9519\uff1b\u5206\u652f\u548c\u4e4b\u524d/\u4e4b\u540e\u7684tag\u4fe1\u606f\u5c06\u4e0d\u80fd\u5b8c\u6210\u3002"
::msgcat::mcset zh_cn "Tag" "\u6807\u7b7e(Tag)"
::msgcat::mcset zh_cn "Id" "Id"
::msgcat::mcset zh_cn "Gitk font chooser" "Gitk\u5b57\u4f53\u9009\u62e9"
::msgcat::mcset zh_cn "B" "\u7c97\u4f53"
::msgcat::mcset zh_cn "I" "\u659c\u4f53"
::msgcat::mcset zh_cn "Commit list display options" "\u63d0\u4ea4\u5217\u8868\u5c55\u793a\u9009\u9879"
::msgcat::mcset zh_cn "Maximum graph width (lines)" "\u6700\u5927\u56fe\u5bbd\u5ea6(\u884c\u6570)"
::msgcat::mcset zh_cn "Maximum graph width (% of pane)" "\u6700\u5927\u56fe\u5bbd\u5ea6(%\u7a97\u53e3\u767e\u5206\u6bd4)"
::msgcat::mcset zh_cn "Show local changes" "\u663e\u793a\u672c\u5730\u4fee\u6539"
::msgcat::mcset zh_cn "Auto-select SHA1 (length)" "\u81ea\u52a8\u9009\u62e9SHA1(\u957f\u5ea6)"
::msgcat::mcset zh_cn "Hide remote refs" "\u9690\u85cf\u8fdc\u7a0b\u5f15\u7528"
::msgcat::mcset zh_cn "Diff display options" "\u5dee\u5f02(Diff)\u5c55\u793a\u9009\u9879"
::msgcat::mcset zh_cn "Tab spacing" "\u5236\u8868\u7b26\u5bbd\u5ea6"
::msgcat::mcset zh_cn "Display nearby tags/heads" "\u663e\u793a\u4e34\u8fd1\u7684tags/heads"
::msgcat::mcset zh_cn "Maximum # tags/heads to show" "\u6700\u5927tags/heads\u5c55\u793a\u6570\u91cf"
::msgcat::mcset zh_cn "Limit diffs to listed paths" "diff\u4e2d\u5217\u51fa\u6587\u4ef6\u9650\u5236"
::msgcat::mcset zh_cn "Support per-file encodings" "\u5355\u72ec\u6587\u4ef6\u7f16\u7801\u652f\u6301"
::msgcat::mcset zh_cn "External diff tool" "\u5916\u90e8\u5dee\u5f02(diff)\u5de5\u5177"
::msgcat::mcset zh_cn "Choose..." "\u9009\u62e9..."
::msgcat::mcset zh_cn "General options" "\u5e38\u89c4\u9009\u9879"
::msgcat::mcset zh_cn "Use themed widgets" "\u4f7f\u7528\u4e3b\u9898\u5c0f\u90e8\u4ef6"
::msgcat::mcset zh_cn "(change requires restart)" "(\u9700\u91cd\u542f\u751f\u6548)"
::msgcat::mcset zh_cn "(currently unavailable)" "(\u5f53\u524d\u4e0d\u53ef\u7528)"
::msgcat::mcset zh_cn "Colors: press to choose" "\u989c\u8272\uff1a\u70b9\u51fb\u6765\u9009\u62e9"
::msgcat::mcset zh_cn "Interface" "\u754c\u9762"
::msgcat::mcset zh_cn "interface" "\u754c\u9762"
::msgcat::mcset zh_cn "Background" "\u80cc\u666f"
::msgcat::mcset zh_cn "background" "\u80cc\u666f"
::msgcat::mcset zh_cn "Foreground" "\u524d\u666f"
::msgcat::mcset zh_cn "foreground" "\u524d\u666f"
::msgcat::mcset zh_cn "Diff: old lines" "\u5dee\u5f02(Diff)\uff1a\u8001\u4ee3\u7801\u884c"
::msgcat::mcset zh_cn "diff old lines" "\u5dee\u5f02(diff)\u8001\u4ee3\u7801\u884c"
::msgcat::mcset zh_cn "Diff: new lines" "\u5dee\u5f02(Diff)\uff1a\u65b0\u4ee3\u7801\u884c"
::msgcat::mcset zh_cn "diff new lines" "\u5dee\u5f02(diff)\u65b0\u4ee3\u7801\u884c"
::msgcat::mcset zh_cn "Diff: hunk header" "\u5dee\u5f02(Diff)\uff1a\u8865\u4e01\u7247\u6bb5\u5934\u4fe1\u606f"
::msgcat::mcset zh_cn "diff hunk header" "\u5dee\u5f02(diff)\u8865\u4e01\u7247\u6bb5\u5934\u4fe1\u606f"
::msgcat::mcset zh_cn "Marked line bg" "\u5df2\u6807\u8bb0\u4ee3\u7801\u884c\u80cc\u666f"
::msgcat::mcset zh_cn "marked line background" "\u5df2\u6807\u8bb0\u4ee3\u7801\u884c\u80cc\u666f"
::msgcat::mcset zh_cn "Select bg" "\u9009\u62e9\u80cc\u666f"
::msgcat::mcset zh_cn "Fonts: press to choose" "\u5b57\u4f53\uff1a\u70b9\u51fb\u6765\u9009\u62e9"
::msgcat::mcset zh_cn "Main font" "\u4e3b\u5b57\u4f53"
::msgcat::mcset zh_cn "Diff display font" "\u5dee\u5f02(Diff)\u663e\u793a\u5b57\u4f53"
::msgcat::mcset zh_cn "User interface font" "\u7528\u6237\u754c\u9762\u5b57\u4f53"
::msgcat::mcset zh_cn "Gitk preferences" "Gitk\u504f\u597d\u8bbe\u7f6e"
::msgcat::mcset zh_cn "General" "\u5e38\u89c4"
::msgcat::mcset zh_cn "Colors" "\u989c\u8272"
::msgcat::mcset zh_cn "Fonts" "\u5b57\u4f53"
::msgcat::mcset zh_cn "Gitk: choose color for %s" "Gitk\uff1a\u9009\u62e9\u989c\u8272\u7528\u4e8e%s"
::msgcat::mcset zh_cn "Sorry, gitk cannot run with this version of Tcl/Tk.\n Gitk requires at least Tcl/Tk 8.4." "\u5bf9\u4e0d\u8d77\uff0cgitk\u4e0d\u80fd\u8fd0\u884c\u5728\u5f53\u524d\u7248\u672c\u7684Tcl/Tk\u4e2d\u3002\nGitk\u8fd0\u884c\u9700\u8981\u6700\u4f4e\u7248\u672c\u4e3aTcl/Tk8.4\u3002"
::msgcat::mcset zh_cn "Cannot find a git repository here." "\u5728\u6b64\u4f4d\u7f6e\u672a\u53d1\u73b0git\u4ed3\u5e93\u3002"
::msgcat::mcset zh_cn "Ambiguous argument '%s': both revision and filename" "\u4e0d\u660e\u786e\u6709\u6b67\u4e49\u7684\u53c2\u6570\"%s\"\uff1a\u7248\u672c\u548c\u6587\u4ef6\u540d\u79f0"
::msgcat::mcset zh_cn "Bad arguments to gitk:" "\u8fd0\u884cgitk\u53c2\u6570\u9519\u8bef\uff1a"
View Code

新建 /mingw64/share/locale/zh_CN/LC_MESSAGES/git.mo 文件:https://github.com/git-for-windows/git/blob/main/po/zh_CN.po

git-bash 设置中文:命令窗口右键 Options -> Window -> UI language,下拉选择 zh_CN。或直接新建 etc/minttyrc 文件:

Language=zh_CN
Columns=100
Rows=35
FontHeight=14
View Code

 

安装 pacman

主要是 pacmanmsys2-keyringpacman-mirrors,还有解压工具 zstd

以管理员身份运行 git-bash

cd tmp

# 下载 zst
curl -O -L https://mirror.msys2.org/msys/x86_64/zstd-1.5.6-1-x86_64.pkg.tar.zst
curl -O https://mirror.ghproxy.com/https://github.com/facebook/zstd/releases/download/v1.5.6/zstd-v1.5.6-win64.zip
unzip zstd-v1.5.6-win64.zip "zstd-v1.5.6-win64/zstd.exe" -d .
./zstd-v1.5.6-win64/zstd.exe -d -o zstd-1.5.6-1-x86_64.pkg.tar zstd-1.5.6-1-x86_64.pkg.tar.zst
# 安装 zst
tar -xvf zstd-1.5.6-1-x86_64.pkg.tar -C / usr

# 下载 pacman
curl -O -L https://mirror.msys2.org/msys/x86_64/pacman-6.1.0-3-x86_64.pkg.tar.zst
curl -O -L https://mirror.msys2.org/msys/x86_64/pacman-mirrors-20240523-1-any.pkg.tar.zst
curl -O -L https://mirror.msys2.org/msys/x86_64/msys2-keyring-1~20240410-2-any.pkg.tar.zst
# 安装 pacman
tar -xvf msys2-keyring-1~20240410-2-any.pkg.tar.zst -C / usr
tar -xvf pacman-mirrors-20240523-1-any.pkg.tar.zst -C / etc
tar -xvf pacman-6.1.0-3-x86_64.pkg.tar.zst -C / etc usr var

rm -rf *
ln -s /mingw64/bin/gettext /usr/bin/gettext

# 添加源,https://github.com/git-for-windows/git/wiki/Install-inside-MSYS2-proper
# curl --location https://mirror.ghproxy.com/https://github.com/git-for-windows/git-sdk-64/blob/main/etc/pacman.conf > /etc/pacman.conf
sed -i '/^\[mingw32\]/{ s|^|[git-for-windows]\nServer = https://wingit.blob.core.windows.net/x86-64\n\n[git-for-windows-mingw32]\nServer = https://wingit.blob.core.windows.net/i686\n\n|; }' /etc/pacman.conf

rm -r /etc/pacman.d/gnupg/
pacman-key --init
pacman-key --populate msys2

curl -L https://mirror.ghproxy.com/https://raw.githubusercontent.com/git-for-windows/build-extra/HEAD/git-for-windows-keyring/git-for-windows.gpg |
pacman-key --add - &&
pacman-key --lsign-key E8325679DFFF09668AD8D7B67115A57376871B1C &&
pacman-key --lsign-key 3B6D86A1BA7701CD0F23AED888138B9E1A9F3986

# 同步包数据库
pacman -Sc
pacman -Sy

# 更新元数据,将 git-for-windows 中原有的软件纳入 pacman 的管理
pacman-db-upgrade
# https://github.com/git-for-windows/build-extra/blob/main/versions/package-versions-x.x.x.txt
pacman -S --needed --dbonly $(cut -d ' ' -f 1 /etc/package-versions.txt) zstd msys2-keyring pacman-mirrors pacman

报 error: target not found: libcrypt,从 /etc/package-versions.txt 删除 libcrypt 行

 


https://git-scm.com/book/zh/v2/起步-安装-Git

posted @ 2019-03-21 13:56  江湖小小白  阅读(51414)  评论(0编辑  收藏  举报