TortoiseGit是一个开放的,为的git版本控制系统的源客户端。TortoiseGit的安装和使用依赖Git,是对git的一个封装起来的程序,用来简化git操作.不仅仅可以实现git仓库管理,还可以通过它实现权限控制。
TortoiseGit 是一个开放的,为的 git 版本控制系统的源客户端。TortoiseGit 的安装和使用依赖 Git,像一个普通的文件服务器,除了会记得您有史以来的文件和目录的每一个变化外,还可以恢复您的文件的旧版本,并研究如何以及何时改变了历史数据,谁改变了它。
TortoiseGit 其实就是对 git 的一个封装起来的程序,用来简化 git 操作.不仅仅可以实现 git 仓库管理,还可以通过它实现权限控制。
最初的 Git,只能运行在*nix 系统上,然后,有人为它做了 windows 兼容的修改,Git for windows 的具体维护工作应该是德国的一家公司的几个人在负责,没错,就是我们看到的那个 msysGit,一个基于 windows 上虚拟 unix 环境 mGw 的 Git。
早期还有一个单独的 windows Git 的 fork,现在已经不存在了。而 msysGit 本身,也是 Git 官方维护的版本,它的 release 是跟着 Git 主版本走的,但是因为有一些 windows 特有的修改不便 merGe 到主干,所以,现在还是有少量单独的修改是由 msysGit 的维护小组在管理负责的。
msysGit 的修改是在一点一点的合并到主干的,因此,也许将来我们看到 msysGit,有可能就仅仅只是一个 mGw + Git 的合并安装包而已了,但就现在来说,msysGit 是跟着主干 Git 走的一个官方 fork。
无论 Github for windows,还是 TorToiseGit,他们的底下都是依赖 msysGit 的,TorToiseGit 为了提高性能,似乎在将内部实现从调用 Git 的 cmd 命令转移到一个 Gitlib 的 dll 上去,这个 Gitlib 的 dll 的历史渊源我不是很清楚,但应该跟 msysGit 脱不了关系,但即使如此,TorToiseGit 现在仍然还是需要你安装 msysGit 才能正常动作的,因为它也还没有把所有的内部调用都替换掉,就现在来说,msysGit 仍然是 TorToiseGit 的基础。
至于 Github for windows,我没有用过,但从我看到过的资料来说,它其实是内置了一个 msysGit 的,你所有的操作,其实不过是 Github for windows 的 Gui 界面把你的操作翻译成命令行调用参数并调用 Git 的命令行程序而已,就是那个 msysGit 里面的 Git.exe。
所以,Git 本身就是 Git,然后 Github for windows 和 TorToiseGit 都是 Git 的一个 Gui 包装。使用 TorToiseGit,你需要单独下载 msysGit 安装,使用 Github for windows,可以直接使用内置的 msysGit 而无须单独下载安装。
TortoiseGit 的一些操作详解
pull(拉取):获取远程仓库中的代码更新,并且合并到本地仓库中(pull=fetch+merge)—-常用
fetch(获取):获取远程仓库的代码更新(即是否有人 push 新的代码到远程仓库)
merge(合并):将获取到的远程更新合并到本地仓库
commit:(提交):将更新的代码提交到本地仓库
push:(推送):将更新的代码推送到远程仓库
commit and push:(提交且推送):将更新的代码提交到本地仓库后推送到远程仓库—-常用
diff:(比较差异):比较本地的最近一次受版本控制(提交或拉取后)的文件与该文件修改后的差异—-常用
diff with previous version:(与上一版本比较差异)比较本地的上一次受版本控制的(上一次提交或拉取)文件与该文件修改后的差异
show log:(显示日志):显示远程仓库所有开发提交记录日志(要看最新的首先拉取)—-常用
show Reflog:(显示引用日志):显示自己本地仓库的所有操作(从克隆开始,克隆、拉取、提交)
check for modifications:(检查已修改)好像功能与 diff(比较差异)差不多
revert:(还原):还原代码至最近一次版本控制(可以单个还原和批量选择还原)—-常用
clean up;(清理):删除某些文件,如未受版本控制文件、忽略文件
add:(添加):可以把未受版本控制文件加入本地仓库