SourceTree 简单使用 for Mac

摘要:
Basefork:指作者仓库目录的地址;头工作:指在我们的账户中分叉后生成的仓库地址。如果有任何更改,请直接单击创建pullrequest。如果有任何更改,请单击Pullrequest输入更改的原因/内容。如果作者拒绝我们的推送请求,我们的代码将不会上传到源代码作者的存储库。我们可以单击CreatePullRequest,系统将自动跳转到等待回复的页面,在那里它将显示作者是否接受我们的代码更改。

系统版本: 10.12.6
SourceTree版本:2.3.1 (中文版)SourceThree安装包 密码:9jc3 传送门

目录

1.创建gitHub账号和仓库
2.sourceTree管理gitHub仓库and简单使用
3.sourceTree解决问题的方法
4.sourceTree常见报错

1.创建gitHub账号和仓库

如何申请gitHub账号创建仓库在另一篇文章有 创建gitHub账号和仓库传送门

2.sourceTree管理gitHub仓库and简单使

打开SourceTree点击 +新仓库 选择 从URL克隆

管理GitHub仓库
仓库URL
粘贴在GitHub创建仓库的URL,SourceTree自动帮我们生成目标路径也就是本地地址以及名称
添加GitHub仓库
添加仓库成功
添加仓库成功
现在需要往我们创建的GitHub仓库中添加项目,首先点击在finder中打开 随便往里面放一个项目 关闭 文件界面回到我们SourceTree界面 点击文件状态 会看到刚才添加的项目
SourceTree操作界面
项目有所改变时
当项目中文件内否有所改变时 就会显示在此
项目中有所改变的文件
点击未暂存文件 回到已暂存文件中 意思是我们允许提交到仓库 现在就可以提交 至GitHub仓库
点击暂存温江
点击提交 在文件状态 右边会提醒有多少文件有所改变
提交
第一次提交会让输入账号密码
第一提交
提交成功 会先提交至我们的本地仓库 点击推送(Push) 就会提交到GitHub仓库
提交成功
成功提交到GitHub仓库
创建分支 成功创建过分支以后 直接推送到GitHub仓库(跟上面的push一样) 就可以在GitHub中可以看到
创建分支

合并分支
合并分支

如何参入开源项目

以AFN为例 AFNetworking
点击右上角fork 如果我们想要修改别的开源项目 需要先fork开源项目 到我们的账户中 才可以修改

Fork
fork结束 将账号中的AFNetworking仓库克隆(clone)到本机SourceTree中 并推送(push)到我们GitHub远程仓库中
复制URL
AFNetworking本地仓库

上传完成后 在我们的GitHub仓库中会看到我们上传的项目 我们点击compare

compare

之后我们会进入一个compare页面 这个页面用于比较作者仓库与我们仓库的文件的不同。base fork:指的是作者仓库目录地址;head fork:指的是我们账号中fork后所产生的仓库地址。 如果有所修改直接点击Create pull request即可
compare
如果有所修改 我们点击Pull request
Pull request

在这可以输入自己更改的原因/更改的内容。这里写的文字会显示给源代码作者,如果作者接受了我们的推送请求(pull request)后,我们的代码将会上传到源代码作者的仓库内,成功为开源做贡献。如果作者拒绝了我们的推送请求(pull request)后,我们的代码将不会上传到源代码作者的仓库内。

Pull request

我们点击Create Pull Request即可,系统将自动跳转到等待回复的页面,这里会显示作者是否接受我们的代码更改。

SourceTree&Git部分名词解释

克隆(clone):从远程仓库URL加载创建一个与远程仓库一样的本地仓库
提交(commit):将暂存文件上传到本地仓库(我们在Finder中对本地仓库做修改后一般都得先提交一次,再推送)
检出(checkout):切换不同分支
添加(add):添加文件到暂存区
移除(remove):移除文件至暂存区
暂存(git stash):保存工作现场
重置(reset):回到最近添加(add)/提交(commit)状态
合并(merge):将多个同名文件合并为一个文件,该文件包含多个同名文件的所有内容,相同内容抵消
抓取(fetch):从远程仓库获取信息并同步至本地仓库
拉取(pull):从远程仓库获取信息并同步至本地仓库,并且自动执行合并(merge)操作,即 pull=fetch+merge
推送(push):将本地仓库同步至远程仓库,一般推送(push)前先拉取(pull)一次,确保一致
分支(branch):创建/修改/删除分枝
标签(tag):给项目增添标签
工作流(Git Flow):团队工作时,每个人创建属于自己的分枝(branch),确定无误后提交到master分枝
终端(terminal):可以输入git命令行

3.sourceTree解决问题的方法

方法一:查看冲突,可选择'暂存区块'或者选中某行后‘暂存行块’,或者‘放弃区块’或者选中某行后‘暂存行块’
方法一

方法二:通过菜单栏->动作->解决冲突,一般在冲突较多时候采取该方法
方法二
回滚操作 回滚到上个版本
回滚操作

4.sourceTree常见报错

推送前未提交本地的改动,推送前提交本地改动再推送即可

推送前未提交本地修改报警

网络异常报警公司网络不稳定,就会时常发生这个报警,待网络情况好转后再次尝试即可

网络异常报警

推送的远程分支仓库权限受到只读保护,发生此报警
分支权限-保护模式下推送报错内容
参考文章一
参考文章二

免责声明:文章转载自《SourceTree 简单使用 for Mac》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇基本的查询语句iOS--使用imageView播放连续的几张图片下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

git合并两个仓库的代码

首先说下背景:现在我是从公司主仓库fork到我自己的仓库中,开发完后要先将主仓库代码合并到我自己的仓库中,然后解决冲突后再提pr。主仓库:company:master我的仓库:yoyocheknow:master 合并步骤:1:将主仓库的地址添加到自己本地的远程仓库中 //git remote add 仓库名称 地址 git remote add comp...

Maven 学习笔记——Maven环境配置(1)

      在学习Selenium的过程中,接触到了Maven(项目管理工具),不至于学一路忘一路,左耳朵进右耳多出,还是决定边学边记录,毕竟听的不如 看的,看的不如写的吗。首先学一样东西,肯定得明确学的是什么,学了以后在工作中起到什么作用,实际点是,学完这东西能给自己带来多少的Money的增 值。好了,话不多说了,进入主题。        Maven是一...

git subtree

此文已由作者张磊授权网易云社区发布。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 前言 目前对 git 仓库拆分的已有实现之一。这里 git subtree 并不是 subtree merge strategy,这两个不是一个东西。 准备工作 首先创建主仓库 subrepo-master,随意提交一次文本,接着拉取到本地 建立子仓库 subr...

ssh登陆github

ssh【转载】 如果只是在一个仓库里管理文件历史,Git和SVN真没啥区别。为了保证你现在所学的Git物超所值,将来绝对不会后悔,同时为了打击已经不幸学了SVN的童鞋,本章开始介绍Git的杀手级功能之一(注意是之一,也就是后面还有之二,之三……):远程仓库。 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有一...

SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决)

前言:   俗话说的好工欲善其事必先利其器,Git分布式版本控制系统是我们日常开发中不可或缺的。目前市面上比较流行的Git可视化管理工具有SourceTree、Github Desktop、TortoiseGit,综合网上的一些文章分析和自己的日常开发实践心得个人比较推荐开发者使用SourceTree,因为SourceTree同时支持Windows和Mac...

git push到Gitee的时候上传不成功,可能是本地文件夹与远程仓库不同步

注意:也有可能时 远程分支和本地分支名称不一致,同步之后,上传成功但是是一个新的分支!!!【可以去管理仓库中,将新增分支设置为主分支,然后去吧旧的分支删除】 1、git pull origin master --allow-unrelated-histories //把远程仓库和本地同步,消除差异 2、重新add和commit相应文件 3、git pu...