博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sourcetree安装与使用
阅读量:6915 次
发布时间:2019-06-27

本文共 3692 字,大约阅读时间需要 12 分钟。

前言

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

2、安装

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

注意

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

三、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打标签

在这文章介绍了使用命令打标签操作,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 extension for versioning large files )提交大文件。
//1、安装Homebrew/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"//2、安装git-lfsbrew 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.psdgit commit -m "Add design file"git push origin master复制代码

参考文章:

2、

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

yanjiyoudeMac-mini:~ admin$ open /usr/local/gitThe 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,我也不知道自己怎么接触到这款软件,安装这款软件的时候需要注册 账号,于是就找同事问翻墙的方法,翻墙过后也成功安装了这款软件。其中一些使用方法,也是自己慢慢摸索,可能也有不对的地方,也请谅解。通过写这篇文章,我发现自己对Git一些概念不是很理解,对于一些常用命令也不是很熟悉,文章也没有讲到Git工作流,看来自己确实需要补一下Git命令相关的知识了,不管是使用Git命令还是GUI,都还是要多实际操作,才能更加记忆深刻。以后工作中如果有更多实际应用或使用过程遇到问题,也会在本文章中补充。有兴趣的朋友可以自己下载安装使用吧!

参考文章

转载地址:http://naicl.baihongyu.com/

你可能感兴趣的文章
2012年下半年系统集成项目管理工程师真题(案例分析)(3)
查看>>
LAMP平台下用Drupal快速建站
查看>>
利用nginx的proxy_next_upstream实现线路容灾
查看>>
chrome 插件开发
查看>>
[LintCode] Serialize and Deserialize Binary Tree
查看>>
Android 矢量图
查看>>
linux awk命令详解
查看>>
MySQL的SET字段类型
查看>>
Quartz数据库表分析
查看>>
shell脚本的一些注意事项
查看>>
结构体
查看>>
GNS模拟器完全使用图文指南
查看>>
人生=亲情+爱情+金钱+理想+友情?
查看>>
VUE devtools 调试工具安装 让vue飞起来
查看>>
LNMP之memcached实现tomcat群集(三)
查看>>
我的友情链接
查看>>
Android IPC进程间通讯机制
查看>>
无损音乐资源
查看>>
对SpringAop的思考之基于cglib的动态代理
查看>>
Linux5.3双网卡绑定虚拟成一块网卡
查看>>