热门排行
简介
SourceTree是一款免费开源的git客户端,SourceTree是很多软件开发者采用的开发软件,SourceTree客户端为开发者提供一个简洁界面的客户端,大大简化了开发者与代码库之间的Git操作方式,对于那些不熟悉Git命令的开发者来说非常实用。
软件特色
一 克隆Clone
二 提交Commit和推送Push
三 拉取pull和获取fetch
四 版本回退reset
五 检出checkout
六 标签Tag
功能介绍
1、简化了你与Git和Hg库的交互方式,可以通过直观、简洁、干净、友好的客户端管理本地的和远程的代码仓库。
2、简化团队的DVCS操作,可以执行提交、推送、获取、合并分支等操作,按照书签的方式管理代码库,并提供日志视图。
3、方便的使用Git流和Hg流。保持代码库的整洁,使开发过程变得更有效率。
4、为高级开发人员带来更大的便利,你可以根据变更集和cherry-p ick进行评审。
常见问题
1.为什么我下载的sourcetree在“图谱”一栏始终只有一条线,即使是多个分支也只有一条线?
答:提交回滚和重置到本次提交 他俩什么区别?
2.下载速度一直是0怎么办?
答:提交回滚是将本次提交完全撤销(可以将提交到远程库中的内容撤销),重置针对的是本地库内容进行撤销。
3.新手使用SourceTree 一定要装git客户端才行,不然克隆远程url会一直提示 “这是一个无效的源路径/URL”,如何解决?
工具 ——》选项 ——》 git, 启用git 就可以了。
使用方法
使用中若出现提示:
“ssh-agent ... System.NullReferenceException”异常,请将Git升级到2.6版后再试一试。
出现此问题是此版本的一个bug,官方正在修复中。
SourceTree使用教程:
-->在github上注册一个账号,然后登陆。
-->在github上点击create new, new repository, 随便输入一个项目名称即可,注意选上init this repository with readme(不选择也可以,事后再自己编辑),如下图。
-->如果想删除刚创建的项目,可以,点右下角的setting,如下图。
-->将页面拉到最下边,点击delete this repository,在弹出层中输入项目名称,点击删除即可,如下图。
-->现在要在本地clone出远程的项目,在github上点击刚才创建的项目,进行项目详情,在右下角有一块信息,复制httPS连接,如下图
-->在本地随便一个目录下,输入以下命令,git clone https://github.com/collonn/MyBatisGen.git,(这里用了一个我的开源项目做为示例),
-->我们可以看到,新建的项目除了一个readme文件,什么也没有,你可以随便将一个maven项目的内容copy到此目录下,编译正确后,就可以提交了,下面我们以SourceTree为例,来演示怎么用可视化GUI工具提交修改。
--下载并安装SourceTree,以windows版本为例,安装完成后,打开sourcetree,如下图
-->点击file-open,选择我们刚才clone出来的项目的根目录后,打开后,如下图,可以看到,branches只有一个master, 点击右边的Uncommited changes,会显示你所有有改动但未提交的文件。
-->看Unstaged files这一块内容,我们按住shift,选择所有你要提交的文件,然后再点鼠标右键,选择add(意思就是add到本地的索引库),操作完成后,Staged files这块内容就会出现我们刚才选择的所有文件,如下图
-->在我们提交到本地repo前,我们先在sourcetree中设置一下通用information,当commit到本地时,这个infomation会当做通用的提交信息,点击tool->options,在full name和email address中输入你的github账号信息,如下图
-->返回到我们刚才那一点,在Staged files中选择要提交到本地仓库的文件后,点击sourcetree左上角的commit之后,会让我们输入comments about this commit,输入后,点提交,可能会提示你再输入github的用户名和密码,如下图
-->至此,我们只是提交到了本地仓库,最后一步就是如提交到远程仓库了,点击工具栏的push按钮,就可以提交到远程仓库(push到远程前,最好先从远程pull一把)。点击pull,即可从远程仓库下载最新的别人提交的修改了,如下图
-->点击push后,会让你选择提交到远程仓库的哪个分支,自己决定吧,提交到远程仓库后,github上就可以看到你提交的内容了,如下图
-->在分支1上的修改可以通过cherry pick,直接将修改的代码commit到分支2上。
也可以在分支2上去过merge操作来获取其它分支的commit,但是要通过intellij idea去进行merge。
注意cherry pick只用直接取到你本次提交的代码,另人在你提交之前的提交不会搞过来,而merge则会把你提交前别人提交也也搞过来。
intellij ide操作如下图:
-->sourcetree左边栏的Branches,可以随便删除,再重新从Remotes中选择你要check out的分支,clone到本地仓库。
-->对于当前的所有本地改动,都可以用Stash功能将改动暂时保存,在任何时候都可以进行apply stash to current work branch。
-->至此,githut和sourcetree的使用,就结束了,工具只是方便大众化,不排斥只用command line操作