TortoiseGit使用指南
TortoiseGit菜单概览:
p.s. 安装TortoiseGit后,请先按照TortoiseGit密钥设置教程完成SSH密钥配置
下面逐一讲解以上菜单:
-
Git同步菜单,主要用来跟服务器进行同步操作(pull/push);
也可以在该窗口进行commit或查看log等操作;
-
Git提交工菜单,当有文件被改动时,在被改动文件(或者其上层目录)上右键选择此菜单,会弹出提交窗口,如下图:填写信息,点击OK,提交成功。
p.s. 提交成功后,可以直接点击push,将修改推送到服务器,如下图:
-
Git拉取,从服务器上获得更新,这个简单,如下图:
p.s. 该操作会拉取(fetch)更新到本地仓库并将更新合并(merge)到项目中去,实际上包括fetch和merge两步操作;
-
Git拉取,只从服务器获得更新到本地仓库中,并不会合并到项目中去,要合并到项目中去还需要执行merge操作,麻烦,一般不用,不多作介绍; -
Git推送,将提交到本地仓库的修改推送到服务器(远程仓库),这个简单,如下图:
-
以上两个操作都是用来进行文件对比,一般在需要对比的文件上右键,选择diff即可将工作区文件与本地仓库中该文件进行差异对比,主要用来查看改动了啥, 不多作介绍; -
查看日志,如下图:
在这里可以选择重置到历史版本,如下图:
在弹出窗口选择重置方式,点击OK,即可回到选择的历史版本:
可选择项说明:
Soft: 回到选择的版本,但这个版本之后的所有提交(包括工作区未提交的改动)都会保存;
Mixed: 退回到选择的版本,本地仓库也会变为这一版本的内容,但工作区不会变;
Hard: 彻底回退到选择的版本,本地仓库也会变为这一版本的内容, 工作区所有改动都会丢失;
-
这两个菜单不常用,我也不知道啥意思; -
显示项目的目录结构; -
显示被修改的文件; -
这个操作比较复杂,跟merge类似,但比merge更复杂,更合理; 该操作比较复杂,平时也不常用,下面举例作简要说明:
比如当前所分支为A分支,使用该菜单来将B分支合并进来(AB都来自master分支),执行过程如下:
该命令会把当前分支A里的每个提交(commit)取消掉,并且把它们临时保存为补丁(patch)(这些补丁放到”.git/rebase”目录中),然后把当前分支A更新为最新的 B 分支,最后再把保存的这些补丁应用到当前分支A上。 -
切换分支时用来保存当前分支尚未提交的修改; -
几乎不用; -
选择处理完冲突的文件,将其标志为解决状态,一般解决完冲突后会直接标志好解决状态,不会再到这里操作; -
Git回滚,这个经常用到,在需要回滚的文件(或者其上层目录)上右键,选择该菜单,
操作如下图:
-
删除未被控件的文件或文件夹(注意: 中文无效),操作如下图:
-
切换分支,当要切换到不同的分支工作时使用该菜单,如下图:
p.s.切换后所做提交都是针对切换后的分支,原来分支不会受到影响
p.s. 新创建分支,并切换到新分支后,此时情况属于远程没有新分支并,本地已经切换到新的分支,若要将本地分支推送到远程服务器(即让服务器端也新增一个分支),push操作时可以不选择远程分支,如下图,点击OK,成功后远程会新增一个分支;
-
Git合并,可选择项说明:
Squash: 勾选则将合并分支的commit备注信息也带到当前分支;
No Fast Forward: 非快进式合并(即不会直接把当前分支指向合并分支),合并成功后默认进行提交; (p.s.默认执行”快进式合并”(fast-farward merge),直接将当前分支指向合并分支)
No Commit: 合并成功后不提交,默认合并成功后会进行提交;
Messages: 默认合并成功后提交的备注信息(for a non-fast-forward merge);
后面的数字为备注信息的最大长度;
Strategy: 合并策略,这个比较复杂的高级操作,我们一般用不着,默认即可;
-
创建分支,填写分支名称,点击OK即可,这个简单,如下图:
可选择项说明:
Track: 将新创建的本地分支与远程分支建立关联;
Force: 强制创建,不论是否存在;
Switch to new branch: 创建成功后切换到新建的分支;
-
创建标志(里程碑),填写分支名称,点击OK即可,这个简单,如下图:
可选择项说明:
Track: 将新创建的Tag与远程分支建立关联;
Force: 强制创建,不论是否存在;
Sign: 给标签签名;
-
导出项目; -
将新增的文件加入版本控制; -
添加子模组,这个功能属于项目中再添加一个Git工程依赖,比较复杂,我们用不到; -
Git补丁,以上两个菜单为创建补丁和应用补丁,就是把自己提交到本地的修改,以补丁的形式发送给别人,别人应用补丁后就能获得自己的修改,这个功能我们用不到; -
设置,帮助,关于;