OS:win 7 x64
软件:git(目前不再使用msysGit.zip,建议直接使用git, git>1.7.6 推荐2.5.0)
TortoiseGit-1.7.7.0-32bit.exe (注意在x64下无法安装32位该软件)
puttygen.exe(来自安装后的tortoisegit)(在开始菜单->tortoisegit->puttygen)
说明:git软件最好是>=2.5.0,因为这样就解决了中文文件名乱码问题
软件下载
git, tortoisegit可以在百度软件中心(rj.baidu.com)获取
安装方法:
1 安装git
2 安装tortoisegit
以上无特殊
3 设置tortoisegit
右键win桌面空白处,选择tortoisegit->setting,弹出选项卡,
在general中有个git.exe,正确设置其位置,例如c:\program files\git\bin\
选择check now会报告正确git位置。
4 克隆远程git
例如从csdn拉取。csdn git位置假如是 git:csdn.net/git/test.git
做法:从文件管理器界面,右键弹出菜单,选择 git clone...
在弹出框中填写
git库位置:git:csdn.net/git/test.git
目标目录:c:\code
Loading private key:选择私钥ppk文件。
然后开始克隆。
5 关于私钥
私钥使用puttygen.exe产生
产生后,注意将公钥和私钥都保存一下。
公钥上传到git库的公钥池里
私钥用于步骤4.
6 经过以上步骤即可标明git安装成功。
以下是关于msysgit的参考, 请勿使用。
msysgit.zip解压缩后开始安装。期间伴随编译过程(CC)
完成后,进入类似msys的界面或cygwin
INSTALL 644 merge.tcl
INSTALL 644 mergetool.tcl
INSTALL 644 option.tcl
INSTALL 644 remote.tcl
INSTALL 644 remote_add.tcl
INSTALL 644 remote_branch_delete.tcl
INSTALL 644 search.tcl
INSTALL 644 shortcut.tcl
INSTALL 644 spellcheck.tcl
INSTALL 644 sshkey.tcl
INSTALL 644 status_bar.tcl
INSTALL 644 themed.tcl
INSTALL 644 tools.tcl
INSTALL 644 tools_dlg.tcl
INSTALL 644 transport.tcl
INSTALL 644 win32.tcl
INSTALL 644 git-gui.ico
INSTALL 644 win32_shortcut.js
DEST /share/git-gui/lib/msgs
INSTALL 644 de.msg
INSTALL 644 el.msg
INSTALL 644 fr.msg
INSTALL 644 hu.msg
INSTALL 644 it.msg
INSTALL 644 ja.msg
INSTALL 644 nb.msg
INSTALL 644 pt_br.msg
INSTALL 644 ru.msg
INSTALL 644 sv.msg
INSTALL 644 zh_cn.msg
make[1]: Leaving directory `/git/git-gui'
test '/libexec/git-core/git-daemon' -ef '/libexec/git-core/git-daemon.exe' || rm
-f '/libexec/git-core/git-daemon'; test '/libexec/git-core/git-fast-import' -e
f '/libexec/git-core/git-fast-import.exe' || rm -f '/libexec/git-core/git-fast-i
mport'; test '/libexec/git-core/git-imap-send' -ef '/libexec/git-core/git-imap-
send.exe' || rm -f '/libexec/git-core/git-imap-send'; test '/libexec/git-core/g
it-shell' -ef '/libexec/git-core/git-shell.exe' || rm -f '/libexec/git-core/git-
shell'; test '/libexec/git-core/git-show-index' -ef '/libexec/git-core/git-show
-index.exe' || rm -f '/libexec/git-core/git-show-index'; test '/libexec/git-cor
e/git-upload-pack' -ef '/libexec/git-core/git-upload-pack.exe' || rm -f '/libexe
c/git-core/git-upload-pack'; test '/libexec/git-core/git-http-backend' -ef '/li
bexec/git-core/git-http-backend.exe' || rm -f '/libexec/git-core/git-http-backen
d'; test '/libexec/git-core/git-sh-i18n--envsubst' -ef '/libexec/git-core/git-s
h-i18n--envsubst.exe' || rm -f '/libexec/git-core/git-sh-i18n--envsubst'; test
'/libexec/git-core/git-http-fetch' -ef '/libexec/git-core/git-http-fetch.exe' ||
rm -f '/libexec/git-core/git-http-fetch'; test '/libexec/git-core/git-http-pus
h' -ef '/libexec/git-core/git-http-push.exe' || rm -f '/libexec/git-core/git-htt
p-push'; test '/libexec/git-core/git-remote-http' -ef '/libexec/git-core/git-re
mote-http.exe' || rm -f '/libexec/git-core/git-remote-http'; test '/libexec/git
-core/git-remote-https' -ef '/libexec/git-core/git-remote-https.exe' || rm -f '/
libexec/git-core/git-remote-https'; test '/libexec/git-core/git-remote-ftp' -ef
'/libexec/git-core/git-remote-ftp.exe' || rm -f '/libexec/git-core/git-remote-f
tp'; test '/libexec/git-core/git-remote-ftps' -ef '/libexec/git-core/git-remote
-ftps.exe' || rm -f '/libexec/git-core/git-remote-ftps'; test '/libexec/git-cor
e/git-add' -ef '/libexec/git-core/git-add.exe' || rm -f '/libexec/git-core/git-a
dd'; test '/libexec/git-core/git-annotate' -ef '/libexec/git-core/git-annotate.
exe' || rm -f '/libexec/git-core/git-annotate'; test '/libexec/git-core/git-app
ly' -ef '/libexec/git-core/git-apply.exe' || rm -f '/libexec/git-core/git-apply'
; test '/libexec/git-core/git-archive' -ef '/libexec/git-core/git-archive.exe'
|| rm -f '/libexec/git-core/git-archive'; test '/libexec/git-core/git-bisect--h
elper' -ef '/libexec/git-core/git-bisect--helper.exe' || rm -f '/libexec/git-cor
e/git-bisect--helper'; test '/libexec/git-core/git-blame' -ef '/libexec/git-cor
e/git-blame.exe' || rm -f '/libexec/git-core/git-blame'; test '/libexec/git-cor
e/git-branch' -ef '/libexec/git-core/git-branch.exe' || rm -f '/libexec/git-core
/git-branch'; test '/libexec/git-core/git-bundle' -ef '/libexec/git-core/git-bu
ndle.exe' || rm -f '/libexec/git-core/git-bundle'; test '/libexec/git-core/git-
cat-file' -ef '/libexec/git-core/git-cat-file.exe' || rm -f '/libexec/git-core/g
it-cat-file'; test '/libexec/git-core/git-check-attr' -ef '/libexec/git-core/gi
t-check-attr.exe' || rm -f '/libexec/git-core/git-check-attr'; test '/libexec/g
it-core/git-check-ref-format' -ef '/libexec/git-core/git-check-ref-format.exe' |
| rm -f '/libexec/git-core/git-check-ref-format'; test '/libexec/git-core/git-c
heckout-index' -ef '/libexec/git-core/git-checkout-index.exe' || rm -f '/libexec
/git-core/git-checkout-index'; test '/libexec/git-core/git-checkout' -ef '/libe
xec/git-core/git-checkout.exe' || rm -f '/libexec/git-core/git-checkout'; test
'/libexec/git-core/git-clean' -ef '/libexec/git-core/git-clean.exe' || rm -f '/l
ibexec/git-core/git-clean'; test '/libexec/git-core/git-clone' -ef '/libexec/gi
t-core/git-clone.exe' || rm -f '/libexec/git-core/git-clone'; test '/libexec/gi
t-core/git-commit-tree' -ef '/libexec/git-core/git-commit-tree.exe' || rm -f '/l
ibexec/git-core/git-commit-tree'; test '/libexec/git-core/git-commit' -ef '/lib
exec/git-core/git-commit.exe' || rm -f '/libexec/git-core/git-commit'; test '/l
ibexec/git-core/git-config' -ef '/libexec/git-core/git-config.exe' || rm -f '/li
bexec/git-core/git-config'; test '/libexec/git-core/git-count-objects' -ef '/li
bexec/git-core/git-count-objects.exe' || rm -f '/libexec/git-core/git-count-obje
cts'; test '/libexec/git-core/git-describe' -ef '/libexec/git-core/git-describe
.exe' || rm -f '/libexec/git-core/git-describe'; test '/libexec/git-core/git-di
ff-files' -ef '/libexec/git-core/git-diff-files.exe' || rm -f '/libexec/git-core
/git-diff-files'; test '/libexec/git-core/git-diff-index' -ef '/libexec/git-cor
e/git-diff-index.exe' || rm -f '/libexec/git-core/git-diff-index'; test '/libex
ec/git-core/git-diff-tree' -ef '/libexec/git-core/git-diff-tree.exe' || rm -f '/
libexec/git-core/git-diff-tree'; test '/libexec/git-core/git-diff' -ef '/libexe
c/git-core/git-diff.exe' || rm -f '/libexec/git-core/git-diff'; test '/libexec/
git-core/git-fast-export' -ef '/libexec/git-core/git-fast-export.exe' || rm -f '
/libexec/git-core/git-fast-export'; test '/libexec/git-core/git-fetch-pack' -ef
'/libexec/git-core/git-fetch-pack.exe' || rm -f '/libexec/git-core/git-fetch-pa
ck'; test '/libexec/git-core/git-fetch' -ef '/libexec/git-core/git-fetch.exe' |
| rm -f '/libexec/git-core/git-fetch'; test '/libexec/git-core/git-fmt-merge-ms
g' -ef '/libexec/git-core/git-fmt-merge-msg.exe' || rm -f '/libexec/git-core/git
-fmt-merge-msg'; test '/libexec/git-core/git-for-each-ref' -ef '/libexec/git-co
re/git-for-each-ref.exe' || rm -f '/libexec/git-core/git-for-each-ref'; test '/
libexec/git-core/git-fsck' -ef '/libexec/git-core/git-fsck.exe' || rm -f '/libex
ec/git-core/git-fsck'; test '/libexec/git-core/git-gc' -ef '/libexec/git-core/g
it-gc.exe' || rm -f '/libexec/git-core/git-gc'; test '/libexec/git-core/git-gre
p' -ef '/libexec/git-core/git-grep.exe' || rm -f '/libexec/git-core/git-grep';
test '/libexec/git-core/git-hash-object' -ef '/libexec/git-core/git-hash-object.
exe' || rm -f '/libexec/git-core/git-hash-object'; test '/libexec/git-core/git-
help' -ef '/libexec/git-core/git-help.exe' || rm -f '/libexec/git-core/git-help'
; test '/libexec/git-core/git-index-pack' -ef '/libexec/git-core/git-index-pack
.exe' || rm -f '/libexec/git-core/git-index-pack'; test '/libexec/git-core/git-
init-db' -ef '/libexec/git-core/git-init-db.exe' || rm -f '/libexec/git-core/git
-init-db'; test '/libexec/git-core/git-log' -ef '/libexec/git-core/git-log.exe'
|| rm -f '/libexec/git-core/git-log'; test '/libexec/git-core/git-ls-files' -e
f '/libexec/git-core/git-ls-files.exe' || rm -f '/libexec/git-core/git-ls-files'
; test '/libexec/git-core/git-ls-remote' -ef '/libexec/git-core/git-ls-remote.e
xe' || rm -f '/libexec/git-core/git-ls-remote'; test '/libexec/git-core/git-ls-
tree' -ef '/libexec/git-core/git-ls-tree.exe' || rm -f '/libexec/git-core/git-ls
-tree'; test '/libexec/git-core/git-mailinfo' -ef '/libexec/git-core/git-mailin
fo.exe' || rm -f '/libexec/git-core/git-mailinfo'; test '/libexec/git-core/git-
mailsplit' -ef '/libexec/git-core/git-mailsplit.exe' || rm -f '/libexec/git-core
/git-mailsplit'; test '/libexec/git-core/git-merge' -ef '/libexec/git-core/git-
merge.exe' || rm -f '/libexec/git-core/git-merge'; test '/libexec/git-core/git-
merge-base' -ef '/libexec/git-core/git-merge-base.exe' || rm -f '/libexec/git-co
re/git-merge-base'; test '/libexec/git-core/git-merge-file' -ef '/libexec/git-c
ore/git-merge-file.exe' || rm -f '/libexec/git-core/git-merge-file'; test '/lib
exec/git-core/git-merge-index' -ef '/libexec/git-core/git-merge-index.exe' || rm
-f '/libexec/git-core/git-merge-index'; test '/libexec/git-core/git-merge-ours
' -ef '/libexec/git-core/git-merge-ours.exe' || rm -f '/libexec/git-core/git-mer
ge-ours'; test '/libexec/git-core/git-merge-recursive' -ef '/libexec/git-core/g
it-merge-recursive.exe' || rm -f '/libexec/git-core/git-merge-recursive'; test
'/libexec/git-core/git-merge-tree' -ef '/libexec/git-core/git-merge-tree.exe' ||
rm -f '/libexec/git-core/git-merge-tree'; test '/libexec/git-core/git-mktag' -
ef '/libexec/git-core/git-mktag.exe' || rm -f '/libexec/git-core/git-mktag'; te
st '/libexec/git-core/git-mktree' -ef '/libexec/git-core/git-mktree.exe' || rm -
f '/libexec/git-core/git-mktree'; test '/libexec/git-core/git-mv' -ef '/libexec
/git-core/git-mv.exe' || rm -f '/libexec/git-core/git-mv'; test '/libexec/git-c
ore/git-name-rev' -ef '/libexec/git-core/git-name-rev.exe' || rm -f '/libexec/gi
t-core/git-name-rev'; test '/libexec/git-core/git-notes' -ef '/libexec/git-core
/git-notes.exe' || rm -f '/libexec/git-core/git-notes'; test '/libexec/git-core
/git-pack-objects' -ef '/libexec/git-core/git-pack-objects.exe' || rm -f '/libex
ec/git-core/git-pack-objects'; test '/libexec/git-core/git-pack-redundant' -ef
'/libexec/git-core/git-pack-redundant.exe' || rm -f '/libexec/git-core/git-pack-
redundant'; test '/libexec/git-core/git-pack-refs' -ef '/libexec/git-core/git-p
ack-refs.exe' || rm -f '/libexec/git-core/git-pack-refs'; test '/libexec/git-co
re/git-patch-id' -ef '/libexec/git-core/git-patch-id.exe' || rm -f '/libexec/git
-core/git-patch-id'; test '/libexec/git-core/git-prune-packed' -ef '/libexec/gi
t-core/git-prune-packed.exe' || rm -f '/libexec/git-core/git-prune-packed'; tes
t '/libexec/git-core/git-prune' -ef '/libexec/git-core/git-prune.exe' || rm -f '
/libexec/git-core/git-prune'; test '/libexec/git-core/git-push' -ef '/libexec/g
it-core/git-push.exe' || rm -f '/libexec/git-core/git-push'; test '/libexec/git
-core/git-read-tree' -ef '/libexec/git-core/git-read-tree.exe' || rm -f '/libexe
c/git-core/git-read-tree'; test '/libexec/git-core/git-receive-pack' -ef '/libe
xec/git-core/git-receive-pack.exe' || rm -f '/libexec/git-core/git-receive-pack'
; test '/libexec/git-core/git-reflog' -ef '/libexec/git-core/git-reflog.exe' ||
rm -f '/libexec/git-core/git-reflog'; test '/libexec/git-core/git-remote' -ef
'/libexec/git-core/git-remote.exe' || rm -f '/libexec/git-core/git-remote'; tes
t '/libexec/git-core/git-remote-ext' -ef '/libexec/git-core/git-remote-ext.exe'
|| rm -f '/libexec/git-core/git-remote-ext'; test '/libexec/git-core/git-remote
-fd' -ef '/libexec/git-core/git-remote-fd.exe' || rm -f '/libexec/git-core/git-r
emote-fd'; test '/libexec/git-core/git-replace' -ef '/libexec/git-core/git-repl
ace.exe' || rm -f '/libexec/git-core/git-replace'; test '/libexec/git-core/git-
rerere' -ef '/libexec/git-core/git-rerere.exe' || rm -f '/libexec/git-core/git-r
erere'; test '/libexec/git-core/git-reset' -ef '/libexec/git-core/git-reset.exe
' || rm -f '/libexec/git-core/git-reset'; test '/libexec/git-core/git-rev-list'
-ef '/libexec/git-core/git-rev-list.exe' || rm -f '/libexec/git-core/git-rev-li
st'; test '/libexec/git-core/git-rev-parse' -ef '/libexec/git-core/git-rev-pars
e.exe' || rm -f '/libexec/git-core/git-rev-parse'; test '/libexec/git-core/git-
revert' -ef '/libexec/git-core/git-revert.exe' || rm -f '/libexec/git-core/git-r
evert'; test '/libexec/git-core/git-rm' -ef '/libexec/git-core/git-rm.exe' || r
m -f '/libexec/git-core/git-rm'; test '/libexec/git-core/git-send-pack' -ef '/l
ibexec/git-core/git-send-pack.exe' || rm -f '/libexec/git-core/git-send-pack';
test '/libexec/git-core/git-shortlog' -ef '/libexec/git-core/git-shortlog.exe' |
| rm -f '/libexec/git-core/git-shortlog'; test '/libexec/git-core/git-show-bran
ch' -ef '/libexec/git-core/git-show-branch.exe' || rm -f '/libexec/git-core/git-
show-branch'; test '/libexec/git-core/git-show-ref' -ef '/libexec/git-core/git-
show-ref.exe' || rm -f '/libexec/git-core/git-show-ref'; test '/libexec/git-cor
e/git-stripspace' -ef '/libexec/git-core/git-stripspace.exe' || rm -f '/libexec/
git-core/git-stripspace'; test '/libexec/git-core/git-symbolic-ref' -ef '/libex
ec/git-core/git-symbolic-ref.exe' || rm -f '/libexec/git-core/git-symbolic-ref';
test '/libexec/git-core/git-tag' -ef '/libexec/git-core/git-tag.exe' || rm -f
'/libexec/git-core/git-tag'; test '/libexec/git-core/git-tar-tree' -ef '/libexe
c/git-core/git-tar-tree.exe' || rm -f '/libexec/git-core/git-tar-tree'; test '/
libexec/git-core/git-unpack-file' -ef '/libexec/git-core/git-unpack-file.exe' ||
rm -f '/libexec/git-core/git-unpack-file'; test '/libexec/git-core/git-unpack-
objects' -ef '/libexec/git-core/git-unpack-objects.exe' || rm -f '/libexec/git-c
ore/git-unpack-objects'; test '/libexec/git-core/git-update-index' -ef '/libexe
c/git-core/git-update-index.exe' || rm -f '/libexec/git-core/git-update-index';
test '/libexec/git-core/git-update-ref' -ef '/libexec/git-core/git-update-ref.e
xe' || rm -f '/libexec/git-core/git-update-ref'; test '/libexec/git-core/git-up
date-server-info' -ef '/libexec/git-core/git-update-server-info.exe' || rm -f '/
libexec/git-core/git-update-server-info'; test '/libexec/git-core/git-upload-ar
chive' -ef '/libexec/git-core/git-upload-archive.exe' || rm -f '/libexec/git-cor
e/git-upload-archive'; test '/libexec/git-core/git-var' -ef '/libexec/git-core/
git-var.exe' || rm -f '/libexec/git-core/git-var'; test '/libexec/git-core/git-
verify-pack' -ef '/libexec/git-core/git-verify-pack.exe' || rm -f '/libexec/git-
core/git-verify-pack'; test '/libexec/git-core/git-verify-tag' -ef '/libexec/gi
t-core/git-verify-tag.exe' || rm -f '/libexec/git-core/git-verify-tag'; test '/
libexec/git-core/git-write-tree' -ef '/libexec/git-core/git-write-tree.exe' || r
m -f '/libexec/git-core/git-write-tree'; test '/libexec/git-core/git-cherry' -e
f '/libexec/git-core/git-cherry.exe' || rm -f '/libexec/git-core/git-cherry'; t
est '/libexec/git-core/git-cherry-pick' -ef '/libexec/git-core/git-cherry-pick.e
xe' || rm -f '/libexec/git-core/git-cherry-pick'; test '/libexec/git-core/git-f
ormat-patch' -ef '/libexec/git-core/git-format-patch.exe' || rm -f '/libexec/git
-core/git-format-patch'; test '/libexec/git-core/git-fsck-objects' -ef '/libexe
c/git-core/git-fsck-objects.exe' || rm -f '/libexec/git-core/git-fsck-objects';
test '/libexec/git-core/git-get-tar-commit-id' -ef '/libexec/git-core/git-get-t
ar-commit-id.exe' || rm -f '/libexec/git-core/git-get-tar-commit-id'; test '/li
bexec/git-core/git-init' -ef '/libexec/git-core/git-init.exe' || rm -f '/libexec
/git-core/git-init'; test '/libexec/git-core/git-merge-subtree' -ef '/libexec/g
it-core/git-merge-subtree.exe' || rm -f '/libexec/git-core/git-merge-subtree';
test '/libexec/git-core/git-peek-remote' -ef '/libexec/git-core/git-peek-remote.
exe' || rm -f '/libexec/git-core/git-peek-remote'; test '/libexec/git-core/git-
repo-config' -ef '/libexec/git-core/git-repo-config.exe' || rm -f '/libexec/git-
core/git-repo-config'; test '/libexec/git-core/git-show' -ef '/libexec/git-core
/git-show.exe' || rm -f '/libexec/git-core/git-show'; test '/libexec/git-core/g
it-stage' -ef '/libexec/git-core/git-stage.exe' || rm -f '/libexec/git-core/git-
stage'; test '/libexec/git-core/git-status' -ef '/libexec/git-core/git-status.e
xe' || rm -f '/libexec/git-core/git-status'; test '/libexec/git-core/git-whatch
anged' -ef '/libexec/git-core/git-whatchanged.exe' || rm -f '/libexec/git-core/g
it-whatchanged'; test '/libexec/git-core/git' -ef '/libexec/git-core/git.exe' |
| rm -f '/libexec/git-core/git';
bindir=$(cd '/bin' && pwd) && \
execdir=$(cd '/libexec/git-core' && pwd) && \
{ test "$bindir/" = "$execdir/" || \
for p in git.exe git-shell.exe git-upload-pack.exe git-cvsserver; do \
rm -f "$execdir/$p" && \
test -z "" && \
ln "$bindir/$p" "$execdir/$p" 2>/dev/null || \
cp "$bindir/$p" "$execdir/$p" || exit; \
done; \
} && \
for p in git-receive-pack.exe git-upload-archive.exe; do \
rm -f "$bindir/$p" && \
ln "$bindir/git.exe" "$bindir/$p" 2>/dev/null || \
ln -s "git.exe" "$bindir/$p" 2>/dev/null || \
cp "$bindir/git.exe" "$bindir/$p" || exit; \
done && \
for p in git-add.exe git-annotate.exe git-apply.exe git-archive.exe git
-bisect--helper.exe git-blame.exe git-branch.exe git-bundle.exe git-cat-file.exe
git-check-attr.exe git-check-ref-format.exe git-checkout-index.exe git-checkout
.exe git-clean.exe git-clone.exe git-commit-tree.exe git-commit.exe git-config.e
xe git-count-objects.exe git-describe.exe git-diff-files.exe git-diff-index.exe
git-diff-tree.exe git-diff.exe git-fast-export.exe git-fetch-pack.exe git-fetch.
exe git-fmt-merge-msg.exe git-for-each-ref.exe git-fsck.exe git-gc.exe git-grep.
exe git-hash-object.exe git-help.exe git-index-pack.exe git-init-db.exe git-log.
exe git-ls-files.exe git-ls-remote.exe git-ls-tree.exe git-mailinfo.exe git-mail
split.exe git-merge.exe git-merge-base.exe git-merge-file.exe git-merge-index.ex
e git-merge-ours.exe git-merge-recursive.exe git-merge-tree.exe git-mktag.exe gi
t-mktree.exe git-mv.exe git-name-rev.exe git-notes.exe git-pack-objects.exe git-
pack-redundant.exe git-pack-refs.exe git-patch-id.exe git-prune-packed.exe git-p
rune.exe git-push.exe git-read-tree.exe git-receive-pack.exe git-reflog.exe git-
remote.exe git-remote-ext.exe git-remote-fd.exe git-replace.exe git-rerere.exe g
it-reset.exe git-rev-list.exe git-rev-parse.exe git-revert.exe git-rm.exe git-se
nd-pack.exe git-shortlog.exe git-show-branch.exe git-show-ref.exe git-stripspace
.exe git-symbolic-ref.exe git-tag.exe git-tar-tree.exe git-unpack-file.exe git-u
npack-objects.exe git-update-index.exe git-update-ref.exe git-update-server-info
.exe git-upload-archive.exe git-var.exe git-verify-pack.exe git-verify-tag.exe g
it-write-tree.exe git-cherry.exe git-cherry-pick.exe git-format-patch.exe git-fs
ck-objects.exe git-get-tar-commit-id.exe git-init.exe git-merge-subtree.exe git-
peek-remote.exe git-repo-config.exe git-show.exe git-stage.exe git-status.exe gi
t-whatchanged.exe; do \
rm -f "$execdir/$p" && \
ln "$execdir/git.exe" "$execdir/$p" 2>/dev/null || \
ln -s "git.exe" "$execdir/$p" 2>/dev/null || \
cp "$execdir/git.exe" "$execdir/$p" || exit; \
done && \
remote_curl_aliases="git-remote-https.exe git-remote-ftp.exe git-remote-
ftps.exe" && \
for p in $remote_curl_aliases; do \
rm -f "$execdir/$p" && \
ln "$execdir/git-remote-http.exe" "$execdir/$p" 2>/dev/null || \
ln -s "git-remote-http.exe" "$execdir/$p" 2>/dev/null || \
cp "$execdir/git-remote-http.exe" "$execdir/$p" || exit; \
done && \
./check_bindir "z$bindir" "z$execdir" "$bindir/git-add.exe"
-------------------------
Hello, dear Git developer.
This is a minimal MSYS environment to work on Git.
You are in the git working tree, and all is ready for you to hack.
Welcome to msysGit
Run 'git help git' to display the help index.
Run 'git help <command>' to display help for specific commands.
Run '/share/msysGit/add-shortcut.tcl' to add a shortcut to msysGit.
It appears that you installed msysGit using the full installer.
To set up the Git repositories, please run /share/msysGit/initialize.sh
grass@THOMAS-PC /git
$ git help git
Launching default browser to display HTML ...
grass@THOMAS-PC /git
$
继续安装tortoisegit
TortoiseGit-1.7.7.0-32bit.exe (注意在x64下无法安装32位该软件)