Sourcetree安装与使用

前言

自从我进入公司工作后,第一个接触到的项目版本管理工具便是SVN。SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。现在公司的项目也是用的SVN,没用用Git。个人习惯用图形化工具,使用SVN的时候,没有用命令行,而是用的Cornerstone_V3.0.3(有需要的朋友,可以自行下载)。这篇文章的重点不是了解Cornerstone的使用,而是这篇文章的主角Sourcetree,用Sourcetree还是有一段时间了,感觉还是挺好用的,Git命令能完成的这个软件都能完成,并且还有可视化的界面。自己平时托管到码云上的Demo也是用这个软件进行管理,下面开始介绍Sourcetree的安装与使用吧。

介绍内容

目录

一、 Sourcetree简介
二、下载与安装
三、Sourcetree使用
四、常见问题解决

一、Sourcetree简介

A free Git client for Windows and Mac

Sourcetree simplifies how you interact with your Git repositories so you can focus on coding. Visualize and manage your repositories through Sourcetree's simple Git GUI.

Sourcetree简化了你与Git仓库的交互,这样你就可以专注于编码了。通过Sourcetree的简单的Git GUI来可视化和管理你的存储库。

二、下载与安装

Sourcetree有MAC版本和Windows版本,这里以MAC版本为例。

1、下载

  • 官网最新版本下载地址
  • Sourcetree_2.6.3

2、安装

  • 2.1 Sourcetree_2.6.3a.zip解压缩后,双击Sourcetree.app文件进行安装,这里需要注册Atlassian账号(可能要注册),我已经注册过了,这里我选择使用已有账号,如下图所示:
  • 2.2 配置账号,这里可以跳过设置,也可以在这里配置好GitHub账号和密码。如下图所示:
  • 2.3 安装完成后界面如下图所示:

注意

这里我选择使用SSH方式,没有使用HTTPS,因此,你需要在MAC上配置生成SSH key,可以参考这篇文章配置MAC上Git安装与GitHub基本使用。

三、Sourcetree使用

1、首先,配置GitHub账号

因为我在安装的时候已经配置了,在账户列表中有我的GitHub账号,如下图所示:

安装时没有配置账号,可以点击右上角 设置按钮或在 偏好设置中配置,在账户中点击 添加进行配置,如下图所示:

2、克隆远端仓库到本地仓库

前提是在你的GitHub账号上已经创建过项目。

  • 2.1 通过GUI客户端克隆远端仓库,配置好账户后,点击远端选项卡会显示GitHub账户上的项目列表,如下图所示: 这里我克隆LearnGit这个项目,选择克隆在桌面Git文件夹下(如果想让本地的文件夹名和项目名称一样,在Git后添加/LearnGit,点击克隆后,就会自动创建LearnGit文件夹),如下图所示: 克隆成功后,本地仓库就会新增这个标签:
  • 2.2 通过SSH链接克隆到本地仓库,首先在GitHub上复制SSH地址,如下图所示: 然后点击新建->从远端URL克隆,粘贴地址,设置存储路径,如下图所示: 到这里,已经成功将远端项目克隆到本地啦~

3、上传本地仓库到远端仓库

  • 3.1 双击本地->标签或鼠标右键打开仓库详情,如下图所示: 进入详情如下图所示,我对一些常用板块进行了标注,如下图所示:
  • 3.2 打开LearnGitDemo,添加代码,然后查看仓库详情,如下图所示:
  • 3.3 提交暂存区文件到本地仓库,如下图所示:
  • 3.4 点击推送按钮,将本地仓库推送到远端,如下图所示: 完成之后,到GitHub上查看,已经有本次的提交信息了:
  • 3.5 拉取最新远程仓库更新内容,如果远端仓库有更新,会有数字角标提示,如下图所示: 到这里,就已经介绍完推送本地仓库到远端和拉取远端仓库到本地仓库了。
  • 注意 在提交本地暂存区文件到远端的时候,最好拉取最新的远端仓库,以避免起冲突。

4、Sourcetree打标签

在这文章MAC上Git打标签介绍了使用命令打标签操作,Sourcetree同样也支持打标签操作,并且是可视化的,操作起来很是方便。

  • 4.1 Sourcetree创建标签 鼠标右键选择新建标签,如下图所示: GitHub上查看是否成功: 查看标签信息,如下图所示:
  • 4.2 删除标签 在删除标签v1.0.2的时候,勾选上删除所有远程标签,删除的时候本地和远程的标签都会被删除,删除完成之后,去GitHub上查看,如下图所示: 基本的标签操作到这里也介绍完了。

5、分支(Branch)

  • 5.1 创建分支,如下图所示: 创建成功过后,本地分支就多了一个develop分支,如下图所示:
  • 5.2 提交改动到本地仓库,如下图所示:
  • 5.3 在develop分支下,将改动推送到远端,如下图所示:
  • 5.4 合并分支,首先,切换到要合并的分支master,如下图所示: 将develop分支提交的内容合并到master分支,如下图所示: 合并过后,需将改动内容提交到远端,如下图所示: 到GitHub上查看,分支是否合并成功,如下图所示:

四、常见问题解决

1、上传文件大小超过限制,不能上传

  • 1.1 终端中修改,打开终端输入(全局配置:设置大小500M):
git config http.postBuffer 524288000
复制代码

配置之后,用一下命令查看,就会多出http.postbuffer=524288000这行:

git config -l
复制代码
  • 1.2 在Sourcetree中配置当前仓库config文件或者直接配置git中的config文件,添加:
[http]
	postBuffer = 524288000
复制代码

  • 1.3 通过Git扩展**git-lfs**(Git extension for versioning large files )提交大文件。
//1、安装Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

//2、安装git-lfs
brew install git-lfs

//3、lfs初始化仓库
git lfs install

//4、选择想要管理的Git LFS文件类型(或者编辑 .gitattributes)
git lfs track "*.zip"

//5、查看git-lfs管理的文件
git lfs track

//6、确保.gitattributes也被追踪
git add .gitattributes

//7、提交到远程仓库
git add file.psd
git commit -m "Add design file"
git push origin master

复制代码

参考文章: Git Large File Storage

2、warning: templates not found /usr/local/git/share/git-core/templates

出现上面原因没有克隆成功,是因为没有创建相应文件,可以用命令open /usr/local/git测试是否已经创建:

yanjiyoudeMac-mini:~ admin$ open /usr/local/git
The file /usr/local/git does not exist.
复制代码

没有创建则创建:

//创建git文件夹
sudo mkdir /usr/local/git
//创建share文件夹
sudo mkdir /usr/local/git/share
//创建git-core文件夹
sudo mkdir /usr/local/git/share/git-core
//创建templates夹
sudo mkdir /usr/local/git/share/git-core/templates
//创建templates夹
sudo chmod -R 755 /usr/local/git/share/git-core/templates
复制代码

创建完成之后,重新克隆,就能克隆到本地了。

总结

本篇文章也只记录了Sourcetree的一些基本操作,公司现在的项目也没有用Git管理,自己现在用Git主要是托管自己写的工具demo,我也不知道自己怎么接触到这款软件,安装这款软件的时候需要注册Atlassian 账号,于是就找同事问的方法,过后也成功安装了这款软件。其中一些使用方法,也是自己慢慢摸索,可能也有不对的地方,也请谅解。通过写这篇文章,我发现自己对Git一些概念不是很理解,对于一些常用命令也不是很熟悉,文章也没有讲到Git工作流,看来自己确实需要补一下Git命令相关的知识了,不管是使用Git命令还是GUI,都还是要多实际操作,才能更加记忆深刻。以后工作中如果有更多实际应用或使用过程遇到问题,也会在本文章中补充。有兴趣的朋友可以自己下载安装使用吧!

参考文章

  • 图解GitHub和SourceTree入门教程
  • 推荐一款github管理神器SourceTree
  • 难用的SourceTree
  • Mac下SourceTree的使用(2016年最新)
  • GUI for git|SourceTree|入门基础
  • 基于SourceTree 下的 Git Flow 模型
  • Smart branching with SourceTree and Git-flow

你可能感兴趣的:(Sourcetree安装与使用)