TortoiseGit 简称 tgit, 中文名海龟Git。TortoiseGit是一个开放的GIT版本控制系统的源客户端。html
TortoiseGit 支持Winxp/vista/win7/Win10,提供有中文版支持。git
TortoiseGit 能够恢复您的文件的旧版本,并研究如何以及合适改变了历史数据,谁改变了它。下面教程针对使用TortoiseGit 的用户。github
环境安装,须要依次安装如下:windows
第1步:下载Git,下载地址:https://git-for-windows.github.io/服务器
Git 安装过程不详述,可参考:https://www.cnblogs.com/wj-1314/p/7993819.htmlapp
第2步:下载安装Tortoisegit及中文语言包(Tortoisegit及语言包下载 ,Tortoisegit 安装教程)ssh
Tortoisegit 配置工具
第1步: 首先,请选定一个存放Git项目的目录,这样方便管理. 如: E:\Git,而后在资源管理器中打开:学习
第2步: 在空白处点击鼠标右键,选择 --> TortoiseGit --> Settings,而后就能够看到配置界面:fetch
第3步:选中General,在右边的 Language中选择简体中文(固然,你也能够继续使用英文)。取消勾选升级检查的复选框,可能还须要指定 git.exe 文件的路径,如 "D:\Program Files\Git\bin"。完成后,点击应用,肯定关闭对话框。
第4步:配置用户,用户做为你操做git的我的标识,进入设置,点选左边的Git标签,能够发现,右边能够配置用户的名字与Email信息. 以下图所示:
由于当前尚未本地项目,因此 “编辑本地 .git/config(L)” 按钮处于灰色不可用状态,若是在某个本地Git项目下打开配置对话框,那么这个按钮就可用,而后就能够编辑此项目的一些属性。
点击 “编辑全局 .git/config(O)”按钮,会使用记事本打开全局配置文件,在全局配置文件中,在后面加上下面的内容(记住密码):
[credential]
helper = store
完成后保存,关闭记事本,肯定便可。
则当你使用 HTTPS URL 方式推送项目到GitHub等在线仓库时,海龟git会记住你输入的用户名和密码(这里不是用户的姓名和Email哦),能够避免每次提交都要输入用户名和密码。(还有种方式,经过使用 SSH URL 来提交代码即可以一劳永逸了~~~)
若是你编辑的是 本地 .git/config(L),其实这个翻译为本地有点问题,应该叫局部,也就是在某个项目下面设置,只对此项目有效,配置是同样的。
Tortoisegit 使用示例
克隆一个项目(分别从github仓库、本身搭建的gitblit 仓库上获取)
教程开始以前,补充一个知识点:
本地仓库和远程git仓库的链接方式有两种:HTTPS 和 SSH,不少时候都是直接使用 HTTPS URL 方式克隆项目到本地,固然也有有些人使用SSH URL克隆到本地。这两种方式的主要区别在于:
- HTTPS:使用起来不用配置,对初学者来讲会比较方便,只要复制HTTPS URL而后到git Bash里面直接用clone命令克隆到本地就行了,可是每次 fetch 和 push代码都须要输入帐号和密码,这也是HTTPS 方式的麻烦之处。
- SSH:使用SSH URL方式须要在克隆以前先配置和添加好SSH key,所以,若是你想要使用SSH url克隆的话,你必须是这个项目的拥有者。不然你是没法添加SSH key的,另外ssh默认是每次fetch和push代码都不须要输入帐号和密码,若是你想要每次都输入帐号密码才能进行fetch和push也能够另外进行设置。多数介绍Git的博客里面采用的都是https的方式做为案例,今天主要是记录如何配置并在海龟git中使用SSH方式来提交和克隆代码。
第1步:此处介绍经过SSH URL方式传输,使用以前须要先将本地的 SSH 公钥配置到 Git 服务器上。
先查看SSH Key。在C盘用户主目录用户目录下,看看有没有.ssh目录,若是有,再看看这个目录下有没有id_rsa
和id_rsa.pub
这两个文件,若是已经有了,可直接跳到第2步。
若是没有上述文件,则须要建立一个SSH Key,在任意文件夹下点击右键,选择 Git GUI Here。在弹出的程序中选择主菜单的【Help】→【Show SSH Key】:
若是没有Key,则点击“Generate Key”生成一个SSH Key:
把生成的所有内容拷出来。
若是一切顺利的话,能够在用户主目录里找到.ssh
目录,里面有id_rsa
和id_rsa.pub
两个文件,这两个就是SSH Key的秘钥对,id_rsa
是私钥,不能泄露出去,id_rsa.pub
是公钥,能够放心地告诉任何人。(其余建立SSH Key方式:经过Shell命令方式建立)
第2步:把 SSH Key 填到Git 服务器的配置中。
GitHub服务器:登录GitHub,【头像】→【Settings】→【SSH and GPG Keys】→【New SSH Key】,填入上一步的复制的SSHKey,而后【Add SSH Key】:
Gitblit 服务器(本身搭建 Git 服务器,Gitblit的安装教程请看这里),登陆 Gitblit帐户,在【头像】→【用户中心】→【SSH Keys】,填入上一步的复制的SSHKey,而后【添加】
为何GitHub须要SSH Key呢?由于GitHub须要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,因此,GitHub只要知道了你的公钥,就能够确认只有你本身才能推送。
第3步:要克隆 GitHub 或 Gitblit 上的项目,先要获取对应远程存储库的路径(注意:此处使用 SSH URL 方式):
GitHub仓库:从 GitHub项目页面上获得对应存储库的 giturl 路径:
Gitblit 仓库:在存储库页面这个位置获得存储库的 giturl 路径:
第4步:在本地文件夹的空白位置处,右击鼠标,在菜单中选择【Git克隆】:
把git 路径填写到URL,并选择本地文件目录,点击【肯定】,弹出下载进度窗口。(服务器端至少要有一个文件,不然 pull的时候会报错 fatal: Couldn't find remote ref HEAD)
克隆成功,则在文件夹上就能够看到角标标识:
文件上的图标,能够反映出当前文件或者文件夹的状态:
一、正常的:绿色的对号
二、被修改过的:红色感叹号
三、新添加的:蓝色的加号
四、未受控的(无版本控制的):蓝色的问号
五、忽略不受控的:灰色的减号
六、删除的:红色的x号
七、有冲突的:黄色的感叹号
如果看不到能够查看该教程:TortoiseGit状态图标不能正常显示的解决办法
Git的使用相似TFS、SVN等源代码或者文件管理器,惯例的流程:
第一步:改动,修改本地项目中的某些文件,如修改 README.md 内容,还能够增长一些文件, 如Hello.txt。
第二步:提交本地,在本地项目的空白处点击鼠标右键,选择 【Git提交(C) -> "master"...】
在弹出提交(Commit)对话框中完成提交说明信息,和选择须要提交的文件,可根据须要新建分支,而后点击 【提交】 按钮,将修改提交到本地仓库:
弹出提交进度窗口,提交成功后还须要“推送”将本地仓库的修改推送到远程仓库。
第3步:同步拉取,在实际工做中,若是多人协做或者多个客户端进行修改,那么咱们还要拉取别人推送到在线仓库的内容,因此在推送以前须要先执行同步拉取(Pull ...)操做。
在本地仓库文件夹上【右击鼠标】→【Git同步】:
打开Git同步窗口(包括常规操做及日志,同右击菜单快捷操做同样),点击【拉取(P)】,将远程分支拉取到本地:
若是服务器上的文件没有被修改过,就会直接提示已经更新到最新,那你就能够直接进行下一步“推送(H)”操做了:
反之,若是服务器上的文件被修改过了(本地文件修改前不是最新版本),就会提示冲突。先要解决冲突,而后再提交结果:
须要注意的是,和使用TFS、SVN的习惯同样,你在修改本地内容以前,最好先 拉取(pull)一下,减小冲突的可能。
第四步:推送远程,将提交到本地仓库的修改推送到远程仓库,能够直接在提交成功后的提示窗口上点击【推送(H)...】,或者在Git同步窗口点击【推送(H)...】,鼠标右击的菜单上也有相应的快捷操做:选择 【TortoiseGit(T)】→【推送(H)...】
弹出推送(push)对话框:
通常保持默认,点击 “肯定” 按钮
而后弹出推送进度界面,可能要求你输入用户名,点击【肯定】,而后要求输入密码,密码输入正确后,显示推送成功界面:
若是你按照上一小节Tortoisegit 配置的设置操做,则输入密码之后会记住密码。密码会明文保存在C:\Users\用户名\.git-credentials 这个文件中,请当心保存。
小结
以上就是海龟Git常规的操做流程,git的功能很强大,相应的命令也不少,使用图形界面把Git的操做简化了确是大大的方便。除了小海龟还有 Source Tree,也是开源且好用的Git GUI管理工具,待得有空小编再整理一份Source Tree的操做教程。补充一点,由于不少项目是在VS上进行开发的,因此更多的状况,咱们不会去使用文件夹上的操做,而是结合VS的git模块来进行操做,查看VS2017中使用Git进行版本控制。
推荐廖雪峰的Git教程。