Git可视化工具SourceTree的使用

我在前面几篇文章中详细介绍了Git命令行的使用《Git学习札记》《Git学习札记——进阶》,以及使用Xcode中自带的Git可视化工具的使用《Xcode中git的使用方法介绍与"Please tell me who you are"问题的解决方案》。对于Git的初学者,个人建议先学习Git命令行,然后再去使用图形化工具,这样才会对整个Git的工作流有一个完整的了解。今天我们要来学习的工具是SourceTree,一款非常好用的Git可视化工具。我今天的操作都将在Mac上进行,并且以iOS项目作为演示。因为对于使用Git的公司,SourceTree还是非常流行的。对于Git还不了解的开发者,建议先看看我上面的几篇博客。

(1)在这里,我们把远程仓库搭建在Github上面,现在我的远程仓库为: https://github.com/chenyufeng1991/UseSourceTree  。

(2)打开SourceTree,点击New Repository-->Clone from URL,  然后复制仓库地址  https://github.com/chenyufeng1991/UseSourceTree.git  到SourceTree中的Source URL中,本地仓库的位置和名称可以随意修改。如图:点击clone即可。这样就能把远程仓库中的项目clone到本地了。

(3)clone项目完成后,SourceTree中看到如下:

上面的任务栏分别有commit(提交)、Pull(更新代码)、Push(推送代码)、Fetch(抓取代码),Branch(新建分支)、Merge(合并代码)、Stash(暂存代码状态)。

左侧中的WORKSPACE表示本地的工作区,file status中可以看到本地文件的改变状态,History中是commit历史。下面的BRANCHES显示的是本地的分支。REMOTES显示的是远程的分支。

下方的状态栏显示本次提交的修改文件。以及修改文件中修改的代码。

(4)如果上述是别人的一个项目,那么此时你就可以在本地进行开发了。但是如果是你自己要在远程创建自己的项目,那么下面你要在本地先创建一个项目。我以Xcode创建一个iOS项目为例,我创建的项目名称为UseSourceTree_iOS. 然后把该项目拖入到clone下来的本地仓库中。拖入完成后,SourceTree就显示如下:

可以在SourceTree中可以看到工作区中的改变,比如哪些文件被修改,以及修改的内容。

(5)本地做了修改后,可以看到文件都还是在Unstaged files中,勾选你要提交的文件,然后文件就会到Staged file中,这个操作对应的命令就是git add ,即把文件从工作区放到暂存区。操作完成后,如下所示:

(6)此时就可以进行commit操作了。点击左上角的commit。在commit的时候强烈推荐写上注释。

完成comm之后,提交历史就会变成如下所示。1 ahead表示本地提交比远程提交领先一次commit。

来到不同的分支,比如master分支,点击不同的commit History,可以查看到文件的修改,非常的方便。可视化工具对于code review非常有利。

(7)本地完成commit之后,就需要向远程仓库提交代码了。个人建议,在Push之前,先进行Pull。

但是要注意,pull = fetch + merge,你拉取代码的时候选择的是pull还是fetch,还是使用rebase,这个要根据你的个人习惯,最主要的是要根据你团队的Git工作流来操作。个人的建议是用git pull --rebase命令,相当于使用git fetch + git rebase命令,而不是使用merge,这主要是为了保持树结构和历史的干净(推荐去了解一下git merge 和git rebase的区别)。

点击上方的Pull拉取代码。

在进行PUll的时候,可以选择远程的分支,同时如果勾选了最后一个“Rebase instead of merge”,表示使用rebase命令,而不是merge。

(8)完成更新代码后 ,就可以向远程提交代码了。点击上方的Push,弹出如下对话框。

在提交的时候,选择要提交的分支即可。此时可能需要你输入Github或者其他的远程的用户名和密码,输入即可。(注意:此时输入的用户名和密码与.git配置里面的name和email不是同一个概念。此时要你输入的用户名和密码只和你的远程服务器有关,和git无关,因为你要向服务器推送代码,必然要有权限,这个用户名和密码相当于权限。但是.git里面的name和email只是作为你git这个工具标记而已,和远程服务器没有关系。)

(9)Push完代码后,可以在提交历史中看到自己和别人的提交。如图:

此时,本地和远程已经保持了同步,所以原来的1 aHead就消失了。来到Github中,发现代码已经成功提交了。

(10)此时,如果其他开发者向远程仓库提交了代码,那么在你的SourceTree中就会显示如下,

在你本地的master分支下,可以看到1 behind,表示你本地的分支已经落后于远程分支1 commit了。可以选择Pull来更新代码。

(11)如果远程仓库有其他的分支,那么我需要checkout(检出)远程分支到本地,如图,远程有dev分支,双击左侧远程的dev分支,即可检出。检出的时候还可以重命名本地该分支的名字:

checkout完成后,本地也就有dev分支了:

(12)在SourceTree中经常会出现track这个词,表示“跟踪”,表示本地某个分支跟踪远程某个对应的分支。所以,判断是ahead还是behind commit的时候,都是去和track的那个分支进行比较的。双击本地的某个分支即可完成分支切换。

(13)当你在本地新建某个分支的时候,也可以推送到远程,然后远程就会有该分支了。如下所示,我在SourceTree中新建了release分支,但是远程没有release分支。我把该分支进行Push:

然后就发现远程也有release分支了:你要确定是否有某个分支,你也可以去Github或者其他远程服务器查看。

(14)当然你也可以在SourceTree中删除本地或者远程的一个分支,删除分支是个很谨慎的操作,需要慎重。

总结下,Git是一个分布式的版本控制工具,功能非常强大,推荐大家先好好掌握命令行,再去使用GUI,就会发现特别简单。图形操作和命令行也是能够一一对应的。我今天讲到的SourceTree功能,也只是其中一部分,但是这一部分也是最为常用的。熟练使用还是需要在团队协作中去掌握。下面的贴出的Git供大家查询和比对。

时间: 2024-10-26 08:00:30

Git可视化工具SourceTree的使用的相关文章

git可视化工具相关资源

TortoiseGit下载及其使用 TortoiseGit是一个开源项目,熟悉svn版本控制系统的小伙伴可能知道TorToisesvn. 下载:https://tortoisegit.org/download/ ,根据你的操作系统下载相应的版本. 使用:https://tortoisegit.org/docs/tortoisegit/ ,官方文档,安装使用均进行了详细的介绍. SourceTree下载及其使用 SourceTree只支持Windows和Mac,Atlassian公司的又一力作,其

GitBash、EGit、SourceTree三个Git管理工具对比

Git管理工具对比(GitBash.EGit.SourceTree) GitBash是采用命令行的方式对版本进行管理,功能最为灵活强大,但是由于需要手动输入希望修改的文件名,所以相对繁琐. EGit是Eclipse的Git插件,最为纠结的一个软件,因为开发时直操作很方便,尤其是有svn开发情节的人更热衷于这样,不过EGit中有很多bug和不人性化的东西,让人吐血,所以 一句话EGit并不能解决所有Git问题,开发时必须部分依赖于其他Git管理工具.一会一一列举. SourceTree是最近应用的

Git管理工具对比(GitBash、EGit、SourceTree)

GitBash是采用命令行的方式对版本进行管理,功能最为灵活强大,但是由于需要手动输入希望修改的文件名,所以相对繁琐. EGit是Eclipse的Git插件,最为纠结的一个软件,因为开发时直操作很方便,尤其是有svn开发情节的人更热衷于这样,不过EGit中有很多bug和不人性化的东西,让人吐血,所以 一句话EGit并不能解决所有Git问题,开发时必须部分依赖于其他Git管理工具.一会一一列举. SourceTree是最近应用的一个软件,一句话概括,既有GitBash的命令行,又有EGit的图形化

使用强大的可视化工具redislive来监控我们的redis,别让自己死的太惨~~~

作为玩windows的码农,在centos上面装点东西,真的会崩溃的要死,,,我想大家也知道,在centos上面,你下载的是各种源代码,需要自己编译...而 使用yum的话,这个吊软件包有点想nuget,不过yum上面都是老的掉牙的软件...有时候还要升级,比如我在安装redis的另一种监控redmon可视化工具,可惜 这吊毛是ruby写的...比如使用ruby 1.9.3 以上的版本,使用rvm工具包安装,而且还限于国内的网络环境,容易被墙,还好可以使用淘宝源,不扯远了,本篇我 们来安装red

Git版本控制工具---本地版本库的常用操作

  [正文] 在上一章节中,我们学习了关于Git最基本的用法,包括安装Git.创建版本库,以及提交本地代码.本章节中将学习更多的使用技巧.即:Git版本控制工具(一)----git的安装及创建版本库 我们先要做好准备工作,将某个项目创建版本库,我这里就新建一个Android项目GitTest,创建一个版本库.打开Git Bash,进入到这个项目的根目录下,然后执行git init命令,如下图所示: 这样,准备工作就做好了. 一.忽略文件: 版本库已经创建好了,接下来我们需要提交项目中的代码,但是

Git可视化教程——Git Gui的使用

在Git简介一文中已经对Git进行了简单的介绍,但是理论知识过于枯燥,加上本人专业知识不够扎实,使得初学者在Git的使用上还是会有很大的困难.虽然我更推荐使用Git Bash方式对Git进行操作,但是对于大部分只是想简单地使用一下Git进行版本控制和团队开发的朋友而言,仍然更加钟情于可视化界面.所以本文对Git官方自带的可视化工具Git Gui的使用进行介绍,尽量做到图文并茂,让所有初探Git的朋友都能够快速入门,使用Git进行项目开发. 1.在本地新建版本库 首先,我们打开Git GUI是这样

深度神经网络可视化工具集锦

深度神经网络可视化工具集锦 雷锋网按:原文作者zhwhong,载于作者的个人博客,雷锋网(公众号:雷锋网)经授权发布.  TensorBoard:TensorFlow集成可视化工具 GitHub官方项目:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tensorboard TensorBoard 涉及到的运算,通常是在训练庞大的深度神经网络中出现的复杂而又难以理解的运算. 为了更方便 TensorFlow 程序的理

数据可视化工具

随着大数据的崛起,数据分析变得越来越重要,数据可视化工具能更直观地展示数据之间的联系和变化,是数据分析中不可或缺的工具. 1. iCharts iCharts是一个在线的数据可视化工具,被广泛应用于商业.经济.体育等领域的报告中.iCharts免费版本提供了一些基本的交互式图表样式,如果更使用高级的样式,则需要购买高级版本. 2. Fusion Charts Suit XT Fusion Charts Suit XT是一个专业的JavaScript图表库,可以用来创建90多种类型的图表,包括2D

两款Mongodb可视化工具

在某些场景下,相比传统的关系数据库和NoSQL数据库,Mongodb拥有不可替代的优势. 例如,最近我需要为收集的大量网站进行分类.实际情况是,一个网站可能同时有多个标签,想象一下新浪网,它既是门户站点,也是社区站点,还是新闻.军事的热门站点.传统的关系型数据库需要使用从表来记录这些类别标签,而使用Mongodb就不会有这个问题,而且按照类别筛选站点非常方便,后面我将详细解释. 下面,是两款Mongodb的可视化工具,支持最新的Mongodb 3.2版本. MongoBooster  下载地址: