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
![](https://img.haomeiwen.com/i3072214/89e63a1d18a94dd0.png)
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、下载
2、安装
- 2.1 Sourcetree_2.6.3a.zip解压缩后,双击Sourcetree.app文件进行安装,这里需要注册Atlassian账号(可能要翻墙注册),我已经注册过了,这里我选择使用已有账号,如下图所示:
屏幕快照 2018-01-08 下午10.23.05.png
屏幕快照 2018-01-08 下午10.23.47.png
-
2.2 配置账号,这里可以跳过设置,也可以在这里配置好GitHub账号和密码。如下图所示:
屏幕快照 2018-01-08 下午10.25.25.png
-
2.3 安装完成后界面如下图所示:
屏幕快照 2018-01-08 下午10.25.59.png
注意
这里我选择使用SSH方式,没有使用HTTPS,因此,你需要在MAC上配置生成SSH key,可以参考这篇文章配置MAC上Git安装与GitHub基本使用。
三、Sourcetree使用
1、首先,配置GitHub账号
因为我在安装的时候已经配置了,在账户列表中有我的GitHub账号,如下图所示:
![](https://img.haomeiwen.com/i3072214/b6ee4349be0d5309.png)
安装时没有配置账号,可以点击右上角设置按钮或在偏好设置中配置,在账户中点击添加进行配置,如下图所示:
![](https://img.haomeiwen.com/i3072214/70a92c65958233cc.png)
![](https://img.haomeiwen.com/i3072214/12af62f701bdff78.png)
2、克隆远端仓库到本地仓库
前提是在你的GitHub账号上已经创建过项目。
- 2.1 通过GUI客户端克隆远端仓库,配置好账户后,点击远端选项卡会显示GitHub账户上的项目列表,如下图所示:
7682CA2830DF69FB015CDB35EA075999.png
这里我克隆LearnGit这个项目,选择克隆在桌面Git文件夹下(如果想让本地的文件夹名和项目名称一样,在Git后添加/LearnGit
,点击克隆后,就会自动创建LearnGit文件夹),如下图所示:
屏幕快照 2018-01-08 下午11.09.24.png
克隆成功后,本地仓库就会新增这个标签:
屏幕快照 2018-01-08 下午11.10.15.png
- 2.2 通过SSH链接克隆到本地仓库,首先在GitHub上复制SSH地址,如下图所示:
屏幕快照 2018-01-08 下午11.16.29.png
然后点击新建->从远端URL克隆,粘贴地址,设置存储路径,如下图所示:
屏幕快照 2018-01-08 下午11.17.33.png
屏幕快照 2018-01-08 下午11.18.11.png
到这里,已经成功将远端项目克隆到本地啦~
3、上传本地仓库到远端仓库
- 3.1 双击本地->标签或鼠标右键打开仓库详情,如下图所示:
屏幕快照 2018-01-09 上午10.41.23.png
进入详情如下图所示,我对一些常用板块进行了标注,如下图所示:
屏幕快照 2018-01-09 下午9.29.11.png
- 3.2 打开LearnGitDemo,添加代码,然后查看仓库详情,如下图所示:
屏幕快照 2018-01-09 上午11.10.43.png
-
3.3 提交暂存区文件到本地仓库,如下图所示:
屏幕快照 2018-01-09 下午3.23.13.png
-
3.4 点击推送按钮,将本地仓库推送到远端,如下图所示:
屏幕快照 2018-01-09 下午3.28.59.png
完成之后,到GitHub上查看,已经有本次的提交信息了:
屏幕快照 2018-01-09 上午11.24.54.png
-
3.5 拉取最新远程仓库更新内容,如果远端仓库有更新,会有数字角标提示,如下图所示:
屏幕快照 2018-01-09 下午9.41.47.png
屏幕快照 2018-01-09 下午9.42.32.png
到这里,就已经介绍完推送本地仓库到远端和拉取远端仓库到本地仓库了。
-
注意
在提交本地暂存区文件到远端的时候,最好拉取最新的远端仓库,以避免起冲突。
4、Sourcetree打标签
在这文章MAC上Git打标签介绍了使用命令打标签操作,Sourcetree同样也支持打标签操作,并且是可视化的,操作起来很是方便。
- 4.1 Sourcetree创建标签
屏幕快照 2018-01-09 上午11.34.49.png
鼠标右键选择新建标签,如下图所示:
屏幕快照 2018-01-09 上午11.59.37.png
GitHub上查看是否成功:
屏幕快照 2018-01-09 下午12.00.11.png
查看标签信息,如下图所示:
屏幕快照 2018-01-09 下午9.49.11.png
屏幕快照 2018-01-09 下午9.49.25.png
- 4.2 删除标签
屏幕快照 2018-01-09 下午9.50.59.png
屏幕快照 2018-01-09 下午9.51.15.png
屏幕快照 2018-01-09 下午9.51.45.png
在删除标签v1.0.2的时候,勾选上删除所有远程标签,删除的时候本地和远程的标签都会被删除,删除完成之后,去GitHub上查看,如下图所示:
屏幕快照 2018-01-09 下午9.53.47.png
屏幕快照 2018-01-09 下午9.54.24.png
基本的标签操作到这里也介绍完了。
5、分支(Branch)
-
5.1 创建分支,如下图所示:
屏幕快照 2018-01-09 下午10.03.42.png
创建成功过后,本地分支就多了一个develop分支,如下图所示:
屏幕快照 2018-01-09 下午10.12.50.png
-
5.2 提交改动到本地仓库,如下图所示:
屏幕快照 2018-01-09 下午10.20.44.png
-
5.3 在develop分支下,将改动推送到远端,如下图所示:
屏幕快照 2018-01-09 下午10.23.44.png
屏幕快照 2018-01-09 下午10.24.11.png
- 5.4 合并分支,首先,切换到要合并的分支master,如下图所示:
屏幕快照 2018-01-09 下午10.37.53.png
将develop分支提交的内容合并到master分支,如下图所示:
屏幕快照 2018-01-09 下午10.41.10.png
屏幕快照 2018-01-09 下午10.45.23.png
合并过后,需将改动内容提交到远端,如下图所示:
屏幕快照 2018-01-09 下午10.45.46.png
到GitHub上查看,分支是否合并成功,如下图所示:
屏幕快照 2018-01-09 下午11.04.42.png
四、常见问题解决
1、上传文件大小超过限制,不能上传
- 1.1 终端中修改,打开终端输入(全局配置:设置大小500M):
git config http.postBuffer 524288000
配置之后,用一下命令查看,就会多出http.postbuffer=524288000
这行:
git config -l
- 1.2 在Sourcetree中配置当前仓库config文件或者直接配置.git中的config文件,添加:
[http]
postBuffer = 524288000
![](https://img.haomeiwen.com/i3072214/f4ea34486b02efeb.png)
![](https://img.haomeiwen.com/i3072214/9dd46e1f26f3f802.png)
- 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,都还是要多实际操作,才能更加记忆深刻。以后工作中如果有更多实际应用或使用过程遇到问题,也会在本文章中补充。有兴趣的朋友可以自己下载安装使用吧!