TortoiseGit菜单概览:
p.s. 安装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补丁,以上两个菜单为创建补丁和应用补丁,就是把自己提交到本地的修改,以补丁的形式发送给别人,别人应用补丁后就能获得自己的修改,这个功能我们用不到;
- 设置,帮助,关于;