转自CSDN:http://blog.csdn.net/collonn/article/details/39259227git
-->本教程适用于主流的开源网站github和bitbucket,我的认为sourceTree仍是比较好用的git客户端,支持windows和mac os。github
-->soureceTree的最新版本可能与此教程的screenshot有些许不一样,但大同小异(sourceTree的最新版本操做上更人性化)windows
-->在github上注册一个帐号,而后登录。app
-->在github上点击create new, new repository, 随便输入一个项目名称便可,注意选上init this repository with readme(不选择也能够,过后再本身编辑),以下图。maven
-->若是想删除刚建立的项目,能够,点右下角的setting,以下图。ide
-->将页面拉到最下边,点击delete this repository,在弹出层中输入项目名称,点击删除便可,以下图。工具
-->如今要在本地clone出远程的项目,在github上点击刚才建立的项目,进行项目详情,在右下角有一块信息,复制https链接,以下图网站
-->在本地随便一个目录下,输入如下命令,git clone https://github.com/collonn/MyBatisGen.git,(这里用了一个个人开源项目作为示例),this
-->咱们能够看到,新建的项目除了一个readme文件,什么也没有,你能够随便将一个maven项目的内容copy到此目录下,编译正确后,就能够提交了,下面咱们以SourceTree为例,来演示怎么用可视化GUI工具提交修改。idea
--下载并安装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操做,本身玩吧。。。