Git 使用 TortoiseGit 桌面操作软件

Git作为一个复杂的版本控制系统,命令之多,即使经常使用,一些命令也记不住,一般只记住几个常用的命令,不是所有使用Git命令行都是高效的。因此需要使用GUI(图形界面)来操作git,这样会更容易操作git!

TortoiseGit 简称 tgit, 中文名海龟Git。TortoiseGit是一个开放的GIT版本控制系统的源客户端。

TortoiseGit 支持Winxp/vista/win7/Win10,提供有中文版支持。

TortoiseGit 可以恢复您的文件的旧版本,并研究如何以及合适改变了历史数据,谁改变了它。下面教程针对使用TortoiseGit 的用户。

TortoiseGit 下载

Tortoisegit 配置

  • 请选定一个存放Git项目的目录,这样方便管理. 如: E:/Git,然后在资源管理器中打开:

05_01.png

  • 在空白处点击鼠标右键,选择 --> TortoiseGit --> Settings,然后就可以看到配置界面:

05_02.png

  • 选中General,在右边的 Language中选择简体中文(当然,你也可以继续使用英文)。取消勾选升级检查的复选框,可能还需要指定 git.exe 文件的路径,如 "D:\Program Files\Git\bin"。完成后,点击应用,确定关闭对话框。

05_03.png

  • 配置用户,用户作为你操作git的个人标识,进入设置,点选左边的Git标签,可以发现,右边可以配置用户的名字与Email信息. 如下图所示:

因为当前还没有本地项目,所以 “编辑本地 .git/config(L)” 按钮处于灰色不可用状态,如果在某个本地Git项目下打开配置对话框,那么这个按钮就可用,然后就可以编辑此项目的一些属性。

  点击 “编辑全局 .git/config(O)”按钮,会使用记事本打开全局配置文件,在全局配置文件中,在后面加上下面的内容(记住密码):

[credential]
  helper = store

  完成后保存,关闭记事本,确定即可。

  则当你使用 HTTPS URL 方式推送项目到GitHub等在线仓库时,海龟git会记住你输入的用户名和密码(这里不是用户的姓名和Email哦),可以避免每次提交都要输入用户名和密码。(还有种方式,通过使用 SSH URL 来提交代码便可以一劳永逸了~~~)

  如果你编辑的是 本地 .git/config(L),其实这个翻译为本地有点问题,应该叫局部,也就是在某个项目下面设置,只对此项目有效,配置是一样的。

tortoisegit 使用

  • 在本地文件夹的空白位置处,右击鼠标,在菜单中选择【Git克隆】:

    05_05.png

把git 路径填写到URL,并选择本地文件目录,点击【确定】,弹出下载进度窗口。(服务器端至少要有一个文件,否则 pull的时候会报错 fatal: Couldn't find remote ref HEAD)

05_06.png

克隆成功,则在文件夹上就可以看到角标标识:

05_07.png

  • Git文件上角标符号说明:

文件上的图标,可以反映出当前文件或者文件夹的状态:

  1. 正常的:绿色的对号 05_08_01.png

  2. 被修改过的:红色感叹号 05_08_02.png

  3. 新添加的:蓝色的加号 05_08_03.png

  4. 未受控的(无版本控制的):蓝色的问号 05_08_04.png

  5. 忽略不受控的:灰色的减号 05_08_05.png

  6. 删除的:红色的x号 05_08_06.png

  7. 有冲突的:黄色的感叹号 05_08_07.png

将代码提交到服务器

Git的使用类似TFS、SVN等源代码或者文件管理器,惯例的流程:

05_09.png

  • 改动,修改本地项目中的某些文件,如修改 README.md 内容,还可以增加一些文件, 如Hello.txt。

  • 提交本地,在本地项目的空白处点击鼠标右键,选择 【Git提交(C) -> "master"...】

05_10.png

在弹出提交(Commit)对话框中完成提交说明信息,和选择需要提交的文件,可根据需要新建分支,然后点击 【提交】 按钮,将修改提交到本地仓库:

05_11.png

弹出提交进度窗口,提交成功后还需要“推送”将本地仓库的修改推送到远程仓库。

05_12.png

  • 同步拉取,在实际工作中,如果多人协作或者多个客户端进行修改,那么我们还要拉取别人推送到在线仓库的内容,所以在推送之前需要先执行同步拉取(Pull ...)操作。

在本地仓库文件夹上【右击鼠标】→【Git同步】:

05_13.png

打开Git同步窗口(包括常规操作及日志,同右击菜单快捷操作一样),点击【拉取(P)】,将远程分支拉取到本地:

05_14.png

如果服务器上的文件没有被修改过,就会直接提示已经更新到最新,那你就可以直接进行下一步“推送(H)”操作了:

05_15.png

反之,如果服务器上的文件被修改过了(本地文件修改前不是最新版本),就会提示冲突。先要解决冲突,然后再提交结果:

05_16.png

需要注意的是,和使用TFS、SVN的习惯一样,你在修改本地内容之前,最好先 拉取(pull)一下,减少冲突的可能。

  • 推送远程,将提交到本地仓库的修改推送到远程仓库,可以直接在提交成功后的提示窗口上点击【推送(H)...】,或者在Git同步窗口点击【推送(H)...】,鼠标右击的菜单上也有相应的快捷操作:选择 【TortoiseGit(T)】→【推送(H)...】

弹出推送(push)对话框:

05_17.png

一般保持默认,点击 “确定” 按钮

然后弹出推送进度界面,可能要求你输入用户名,点击【确定】,然后要求输入密码,密码输入正确后,显示推送成功界面:

05_18.png

如果你按照上一小节Tortoisegit 配置的设置操作,则输入密码以后会记住密码。密码会明文保存在C:\Users\用户名.git-credentials 这个文件中,请小心保存。