SourceTree 入门教程 (github, mac)
主要内容
1.创建github远程仓库
2.sourceTree clone 仓库
3.sourceTree的基本使用
4.学习资源
1.创建github远程仓库
1.1 去 github官网注册或者登录github账号
按照提示来一步步就好了。
1.2 初始化一个版本库
如下图所示, 可以按照官方说明,去配置远程库相关的内容。
![](https://img.haomeiwen.com/i3020364/a5eb1a2febb7c9a7.png)
下面初始化一个名为TestGit的仓库为例,详细讲解如何创建远程版本库
step 1: 如下图所示, 点击红色矩形框中的内容,去创建一个新的版本库
![](https://img.haomeiwen.com/i3020364/e887ce795abafbcd.png)
step2:如下图所示,填写信息
![](https://img.haomeiwen.com/i3020364/e0fd6406fc535f03.png)
step3: 点击上图红色矩形框按钮, 初始化一个带有 READEME.md文件的版本库, 如下图所示,
![](https://img.haomeiwen.com/i3020364/47153f19ae81f307.png)
至此, 一个简单的版本库就创建完毕了.
2.sourceTree clone 仓库
2.1 复制Url链接
如下图所示, 点击 1 -> 2, 将链接复制至剪切板
![](https://img.haomeiwen.com/i3020364/ad6ccb3b5d8694cb.png)
2.2 打开sourceTree, clone至本地仓库
step1 : 打开sourceTree, 点击 新仓库(1) -> 从url克隆(2), 如下图
![](https://img.haomeiwen.com/i3020364/6710a0c14d7f00f9.png)
step2: 如下图所示, 粘贴源url路径, 自动补全或者手动选择目标路径和名称.
![](https://img.haomeiwen.com/i3020364/cbc0a30b3ea50753.png)
step3: 点击上图 红色矩形框 "clone" 按钮,待克隆完毕后(或者双击本地仓库名称, 会自动跳转到如下图所示界面. 会默认checkout 一个 名为master的分支, 并选中当前分支.
![](https://img.haomeiwen.com/i3020364/5863e8be8681ead7.png)
至此clone完毕. 在finder中显示, 可看到如下图所示的界面
![](https://img.haomeiwen.com/i3020364/872d8bc71b32f174.png)
3.sourceTree的基本使用
3.1 push一定量的代码至远程仓库
3.1.1 用xcode初始化一个名为 TestGit 的工程, 并将该文件夹拖拽到 2.2 中的本地文件夹中
拖拽后的本地文件路径为:
```
.git ->文件夹
.gitignore ->忽略文件
README.md ->说明文档
TestGit ->项目文件夹
```
3.1.2 添加本地修改至已暂存
![](https://img.haomeiwen.com/i3020364/87a3ba15fd32db1f.png)
3.1.3 添加本地修改记录,并提交本地修改至本地仓库
![](https://img.haomeiwen.com/i3020364/7dff2e0d261960a2.png)
3.1.4 将本地修改推送到远程仓库
![](https://img.haomeiwen.com/i3020364/0ed50d3972edc0de.png)
至此,完成push操作
3.2 创建分支
3.2.1 如下图所示基于master分支创建分支Dev1
![](https://img.haomeiwen.com/i3020364/dda5558215354c9e.png)
3.2.2 同样的方式, 基于master分支创建分支Dev2
![](https://img.haomeiwen.com/i3020364/70f1eaa4f8241e61.png)
3.3 修改各自分支并提交至本地仓库
3.3.1 dev1上修改内容提交之本地仓库
![](https://img.haomeiwen.com/i3020364/bbca7cc82ce21e31.png)
3.3.2 dev2上同样的位置做修改提交至本地仓库
![](https://img.haomeiwen.com/i3020364/77a96bb388eb7cfb.png)
至此, 修改各自分支并提交至本地仓库操作完成
3.4 合并分支Dev1 和 Dev2, 手动解决冲突至另一个分支Dev3上
3.4.1 合并Dev1 , Dev2
![](https://img.haomeiwen.com/i3020364/e74d0cee50a4c08d.png)
3.4.2 确认合并
![](https://img.haomeiwen.com/i3020364/f15c9785bf1cfe5a.png)
3.4.3 出现冲突
![](https://img.haomeiwen.com/i3020364/fe5994d73b844d9a.png)
3.4.4 解决冲突(自动解决和手动解决)
3.4.4.1 解决冲突(自动解决 guide, 较为直观简单, 就不以此方式为例详解了)
![](https://img.haomeiwen.com/i3020364/ba038d8cfbe548df.png)
3.4.4.2 解决冲突(手动解决, 详细介绍)
3.4.4.2.1 定位到冲突文件
![](https://img.haomeiwen.com/i3020364/a10631ff8b356c5e.png)
3.4.4.2.2 用编译器打开冲突文件
![](https://img.haomeiwen.com/i3020364/b298183515fe1045.png)
3.4.4.2.3 解决冲突
这里选择保留两者的内容, 来解决冲突,结果如下图所示
![](https://img.haomeiwen.com/i3020364/67ade09d8870437e.png)
3.4.4.2.4 回到sourceTree, 将该冲突文件标记为已解决, 并确认
![](https://img.haomeiwen.com/i3020364/effab39c0aba5ed1.png)
3.4.4.2.5 基于Dev2分支, 创建分支Dev3
![](https://img.haomeiwen.com/i3020364/24f48b19fd6badf4.png)
![](https://img.haomeiwen.com/i3020364/0383a9dfcf8ec15d.png)
至此,冲突解决完毕,后续提交修改至本地仓库以及合并推送至远程仓库不再一一赘述.
4.学习资源
4.1 git-book
4.2 git权威指南
尚且很基础,未完待续, 望各位同仁批评指正