本人过去Git的可视化工具用的是TortoiseGit,虽然Android Studio也能进行版本管理,但是用下来,感觉SoureTree这款工具是最舒服的(免费的),下面就给大家介绍下我的使用总结.
SourceTree简介
SourceTree 是 Windows 和Mac OS X 下免费的 Git 和Hg客户端,拥有可视化界面,容易上手操作.同时它也是Mercurial和Subversion版本控制系统工具.支持创建、提交、clone、push、pull和merge等操作.
同时SourceTree也支持与SVN同步(不建议这样弄)
准备工作
下载并安装相关工具:
Beyond Compare 4 官网下载 (可视化的,用于SourceTree解决版本冲突的插件)
嫌麻烦的朋友从这里下
配置SourceTree
- 配置插件(当然如果你用原生的不用理我)
- 配置用户名/邮箱
==注意:==
- 先安装Git再安装SourceTree(鼠标右键桌面,有Git相关的东西即为装好Git)
- 在SourceTree官网下载或者使用最新版都得先注册而注册的验证码是google提供的,需要科学上网
- SourceTree安装到”Remote”跳过初始设置->SSH密钥取消(看情况)->Mercurial不用安装
使用步骤
一、 在代码托管平台新建仓库(这里以GitHub为例)
- 注册GitHub然后点击右上角+号新建repository
- 配置GitHUb上Repository相关参数
==小扩展:GitHub删除Repository==
二、 将GitHub仓库Link到我们的SourceTree
- 复制xxx.git链接
- 将要传到GitHub的项目,复制到本地仓库路径(这里传一个moudle或传一个project,注意在GitHub的Readme.md上提醒别人导文件方式)
- 上图的Readme.md会显示如下:
三、 将项目提交到本地仓库
四、 将项目推送到GitHub仓库->刷新一下GitHub,可见已上传成功了
==小扩展:==
- 配置.gitignore忽略文件
- 如果想把某个文件也丢到.gitignore忽略文件
- 标签TAG使用:
给某个文件打上标签,方便下次修改代码快速定位
分支管理与使用
软件中的分支介绍(实际按公司项目为准)
创建分支的两个方法:
合并分支
==注意:==
- 首先要切换到被合并的分支上,再进行合并操作。
- 分支合并时,可以选择具体的某提交进行合并,同时主分支可以合并到子分支;子分支可以合并到主分支;子分支之间也可以进行合并。
推送分支到远程仓库
SourceTree&Git部分名词解释
克隆/新建(clone):从远程仓库URL加载创建一个与远程仓库一样的本地仓库
提交(commit):将暂存文件上传到本地仓库(我们在Finder中对本地仓库做修改后一般都得先提交一次,再推送)
推送(push):将本地仓库同步至远程仓库,一般推送(push)前先拉取(pull)一次,确保一致
拉取(pull):从远程仓库获取信息并同步至本地仓库,并且自动执行合并(merge)操作,即pull=fetch+merge
获取(fetch):从远程仓库获取信息并同步至本地仓库
分支(branch):创建/修改/删除分枝
合并(merge):将多个同名文件合并为一个文件,该文件包含多个同名文件的所有内容,相同内容抵消
贮藏(git stash):保存工作现场
丢弃(Discard):丢弃更改,恢复文件改动/重置所有改动,即将已暂存的文件丢回未暂存的文件
标签(tag):给项目增添标签
工作流(Git Flow):团队工作时,每个人创建属于自己的分枝(branch),确定无误后提交到master分支
终端(terminal):可以输入git命令行
每次拉取和推送的时候不用每次输入密码的命令行:git config credential.helper osxkeychain sourcetree
检出(checkout):切换不同分支
添加(add):添加文件到缓存区
移除(remove):移除文件至缓存区
重置(reset):回到最近添加(add)/提交(commit)状态
扩展:参与开源项目开发
找到一个想要参于的项目,点击Fork,Link xxx.git地址
写完我们的代码,如上上传仓库后,点击下图按键
进入Compare页面,比较我们与作者的文件->点击Create pull request->填写上传描述->等待作者自己合并项目即可
总结
这篇是SoureTree的简单使用,后续新增SoureTree解决版本冲突问题学习
更新来了-> SourceTree冲突解决