注意前提: 事先要装好Git
, 至于Git
的安装怎么配置git环境,把代码传到github上? 这篇文章有介绍。
SourceTree在拉去代码的时候,输入的账号密码:是对应平台的账号和密码。比如你的代码在gitlab,那么就是gitlab上面的账号密码。
前言
SourceTree
是 Windows
和Mac OS X
下免费的 Git 和 Hg
客户端,主要依赖可视化界面操作,省去繁琐复杂不容易理解的终端命令,SourceTree
也是Mercurial
和Subversion
版本控制系统工具,支持创建Local repositories 和remote repositories、submit、clone、push、pull
和merge
等操作,可以应用于github
或者1码云
, 类似于Xcode集成的git功能,不过SourceTree更专注于管理,具备更加直观的文件管理/源代码管理.
本文以SourceTree 2.6.3 ,OS X 10.12.6,托管平台为github为例
下载
1.登录SourceTree官网
2.点击Download for Mac OS X
, 即开始自动下载, 大约60M.
- 下载过程很漫长
安装
1.解压后双击
2.出现这个情况时进入 设置-->安全性与隐私-->点击仍要打开
出现这个,选左边还是右边?
方法1: 关闭
SourceTree
,并在终端
执行
defaults write com.torusknot.SourceTreeNotMAS completedWelcomeWizardVersion 3
关闭,再次打开SourceTree
,已跳过注册步骤
方法2: 我选择的是左边,然后填写自己的QQ邮箱,注册,设置昵称。完成之后,sourcetree会自动刷新下界面状态
[图片上传失败...(image-ae7bf4-1653270370463)]
①主要说一下账户这一步,这一步跳过不了,必须搞一个自己的账户,没有的话注册就可以了,但是注册过程很繁琐
②没有账户的小伙伴可以点击后面的转到我的Atlassian
- 点击注册
- 因此刷出来的界面长这样,其中人机身份验证又跟12306的验证码一样,要验证一下你到底是不是人,大家一看都懂,我就不啰嗦了
- (注册成功的跳过这一步------)如果大家通过这种方法注册过程中遇到各种问题没有注册成功,请尝试另一种方法用谷歌邮箱(也要梯子),跳到注册主页,然后注册
google邮箱
,用google邮箱
登录,这样的注册方式我觉得更友善一些
③ 登录成功后需要一些基本设置,建议在这就直接写好
- 克隆仓库:选择你github账号上的一个已经存在的仓库clone到本地,如果要新建仓库的话可以跳过设置,启动后再登录github创建新仓库(推荐)或者通过SoureTree创建一个远程仓库到你的github
功能全面介绍
OK, 拔山涉水终于安装完毕,进入主页是长这个样子
1.主页
-
几个按钮作用:如图,其中过滤仓库搜索框其实就是个搜索框,可以根据仓库名字的关键字搜索出仓库,右上角的设置按钮比较简单这里就不再解释大家自行点开一下就明白了
新建按钮解释
1.URL指的是在github账号上创建的远程仓库独有的HTTPS和SSH链接,通过这个链接可以将远程仓库克隆到本地进行管理
2.直接利用SourceTree创建一个远程仓库到所关联的github账号
3.之前从远程仓库克隆到本地的仓库可以用于添加
4.就是创建一个本地仓库而已啦~
5.和上面说的那个按钮扫描文件夹一样的
6.创建一个文件夹将本地或远程仓库进行分组管理
2.仓库界面
接下来咱们通过具体操作来详细阐释一下整个使用过程
1.创建一个本地仓库
(注意点:如果勾选私有仓库选项,而你不是付费用户的话会创建失败,它不会提示你是因为什么创建失败的)
点击新建按钮--->创建一个本地仓库
2.查看本地仓库
创建完成后在本地就会出现一个文件夹,这就是咱们的本地仓库了,但是打开后是空白文件夹,这时候按快捷键command+shift+.(点),会自动显示隐藏文件,长这个样子,说明创建成功了,有兴趣的哥们儿可以打开config文件查看一下提交地址,没错就是你在关联账号上同时创建的远程仓库地址啦
3.查看同时创建的远程仓库
登录关联的github账号,OK创建成功
4.查看SourceTree中的仓库
5.创建工程
打开Xcode,在本地仓库文件夹下创建一个新项目,创建完后打开SourceTree发现有灰色的数字,代表的新改动文件数量
6.双击仓库打开
先介绍一下界面(介绍的比较仔细,篇幅较多,懂的哥们儿可以略过)
- 1.提交:Commit 指本地仓库的文件提交到本地仓库保存
- 2.拉取:Pull 从关联账号的托管平台(比如github)的众多远程仓库中下载一个仓库到本地,前提是你得账号里创建的有仓库
- 3.推送:Push 将本地仓库源文件提交到本地并更新到托管平台的远程仓库中,即本地和原唱仓库都保存此时仓库中的所有内容(如果不配置ignore忽略文件的话)
- 4.抓取:Fetch 从远程仓库抓取本仓库的更新内容(比如这个项目是团队开发,别人也可能Push代码到这个仓库,这时候你可能就需要更新一下)并更新到本地仓库
- 5.分支: branch 分支本质上其实就是一个指向某次提交的可变指针HEAD,指向当前默认分支master或者上一分支.我们之所以需要创建分支分两种情况:
- 一种是当团队开发时,为了各自干自己的活不相互影响,这时候每个哥们儿都可以从主分支上建立一个属于自己的分支出来,并在自己的分支开发,当开发完毕时,再合并到主分支即可
- 另一种情况是个人开发,你需要集成某个功能但你又不确定自己是否可以集成成功且不影响源码,这时可以建立新分支,然后再开发,如果集成失败了,又把分支源码搞的乱七八糟,你还可以直接回滚到主分支,重新再来
- 6.合并:merge 这个当然是在有分支的前提下进行了,只有创建了分支,在分支上开发完毕后,就可以把当前分支合并到主分支或上一分支了
- 7.暂存:git stash 好像是吧,这个英语怎么写我JB也不会.你可以理解为暂时保存,即当你修改项目时,SourceTree会检测出你哪些文件更改了,并显示到未暂存文件列表中,为什么不直接显示在已暂存文件中呢?这就好比你编辑一个word文档,在你写的时候是属于未暂存的word文件,当你不点保存就关闭word时,它会提醒你要不要保存,你点保存才会成为已暂存文件
7.提交并推送到远程仓库
- 打开仓库中的工程,进入AppDelegate.m文件中随便加上一句代码,Command + S
-
打开SourceTree本地仓库查看,我们发现刚才的改动的文件显示到了为暂存文件区域,选中AppDelegate.m文件,预览代码直接显示在右边的区域类,用绿色文字和+显示(如果是删除了这一行,会用红色文字和-)出修改内容,是不是一目了然
选中未暂存文件前的复选框,保存修改文件到SourceTree,准备提交
- 点击左上角的提交按钮,输入提交日志(强烈建议写上,用于以后区分每次提交的代码所修改的内容),勾选立即推送的话可以直接提交到远程仓库,最后提交右下角的提交,即可保存到本地仓库和远程仓库
如果弹出这个框,就输入一下所关联github账号密码即可
- 上传成功
- 进入远程仓库查看,有更新内容就标识提交成功了
8.回滚操作
当我们提交代码到仓库后,如果想回滚到上次提交的状态时,选中左边的"历史"-->选中你要回滚的提交区块,点击右边的"回滚区块按钮",点击后,什么也不用做,直接用Xcode打开本地仓库文件中的项目查看,那行代码就消失了,即回滚成功。
另外,远端和本地是什么意思?
本地:就是本机,当前电脑上的项目。
远端:需要远端仓库的账号和密码,登进去,可以看到远端仓库里面的所有项目。
总结
- 其实Xcode中也集成了git功能,但总觉得不是很直观,当你用了SourceTree一段时间后再用Xcode自带的git可能会更熟练
- 以上为本人使用SourceTree中的见解,如有误区,请大家批评指正!