文章目录
前言
Sourcetree 是一个非常好用的git客户端, 它把在多人协作开发过程中几乎所有的git操作(包括但不限于push, pull, add, commit, merge等等)转变为更有利于提高工作效率的可视化视图结构! 本文依旧本着记录学习的目的, 同时仍然不在赘述如何下载, 怎么安装, 环境如何配置等问题, 只记录每个功能是什么、对应git什么命令、怎么用. 工欲善其事必先利其器, Sourcetree就是这样一个利器工具!我在这篇文章
中讲述了git的常用命令, 配合本文一起食用效果更佳! 开始吧, 没有什么比图更能说明问题
另外, 本文只介绍工具中比较常用的功能, 对于一些用的使用频率非常低的功能不再记录. 工具只是给我们用, 以提高我们工作效率的, 对于任何一个工具我们都只选最好用, 最有用的一部分即可, 而非花大量时间去研究工具. 那就丧失了使用工具的目的.
初始界面
1 本地
这里就是我们克隆下来的所有本地仓库, 是不是非常的直观! 如果使用命令行想看到我克隆的所有本地仓库该怎么看呢? 把大象装冰箱总共分三步, 命令行查看所有本地库需要也需要三步
- 打开命令行工具
- 切到工作目录(我这里是
/Users/yangxudong/iOS) - 执行ls 命令(或者 ls -a, 详细的终端命令请看这里
)
不仅步骤多, 而且哪有Sourcetree看起来香. 万物真香定律
1.1 仓库列表
这个比较简单, 每一行就对应一个从远端拉取到本地的本地仓库
1.2 分支情况
Sourcetree非常直观的列出了我们克隆的所有仓库在本地的情况, 不仅如此, 还同时列出了该仓库在本地的分支状态, 如图中所看到的, 其中
- develop和feature/…展示了不同仓库所处的本地分支
- 数字: 有两种, 分别代表本地仓库有多少个未提交的修改和远端仓库有多少个需要拉取的未同步的修改
若想在命令行查看对应的内容需要这样
- cd到仓库目录, 执行 git branch
- cd到仓库目录, 执行git status自己查看状态(并且无法查看远端有多少修改需要同步)
2 新建
2.1 克隆远端仓库到本地
- 源url: 就是你的仓库地址
- 目标路径: 就是你的工作目录
- 名称: 你自己对仓库的命令
- 高级选项: 可以直接检出你想检出的远端分支, 默认检出master
如果使用命令行是这样的
- cd到工作目录
- 执行git clone [email protected]
- 执行git branch 创建分支
- 执行git checkout 切换分支(这两步使用git switch也可以)
到这你以为完了吗, 并没有! 你用命令行检出分支以后, 并没有和远端分支进行关联, 你还得执行如下操作, 但是sourcetree就非常的友好, 在你点击克隆按钮时, 就自动的和远端仓库进行了关联
- git push --set-upstream origin branch_name 关联分支
2.2 创建远程仓库
这个其实我们不怎么常用(我本人一次没用过), 一般情况下, 你不一定有创建仓库的权限, 大多数情况下, 你进入公司开始干活时远端仓库都已经创建好了-.-! 并且此操作还需要关联远端账号, 比较繁琐, 在此不做讲述
2.3 添加已经存在的本地仓库
如果你用命令行方式把远端的代码地址克隆到了你的工作目录, 此时你不想用git了, 那这个操作可以把你工作目录内的仓库地址直接添加到sourcetree中, 它会自动获取仓库的.git目录, 然后进行管理
导航栏
1 基础操作
1.1 提交
显示本地有多少修改, 对应命令行
- cd到工作目录
- git status
1.2 拉取
显示远端仓库有多少更新, 并把信息同步至本地仓库, 对应命令行
- git pull, 但是命令行在拉取之前不显示远端修改数量
- git pull相当于git fetch + git merge
1.3 推送
显示本地commit后要等待推送到远端仓库的修改和数量, 对应命令行 - git push
1.4 抓取
从远程仓库获取信息并同步至本地仓库, 对应命令
- git fetch
2 分支操作
新建: 对应命令行
- git checkout -b 新建分支
- git push origin branch_name 推送到远端
- git push --set-upstream origin branch_name 和远端建立关联
删除: 对应命令行
- git branch -d 删除本地分支
- git push origin --delete 删除远端关联分支
合并
可以一条一条合并, 也可以合并所有, 对应命令行
- git merge
3 文件操作
finder
显示文件夹位置
终端
终端显示
设置
我主要用到的是配置.gitiignore忽略文件
4 贮藏操作
如果你修改了内容但是并不急着提交、上传分支到远端, 此时你可以选择贮藏, 其实就相当于给存起来了, 想用的时候再取;需要注意的是上面的提示: …并且返回一个干净的工作区状态!
这里的意思是: 你使用贮藏后, 你的本地修改就消失了, 你的修改被放在了贮藏中, 当你想要的时候再取就可以(我很少用…)
工作区
1 文件状态
显示本地仓库的文件状态, 包括修改内容, 修改数量, 前后对比, 已暂存的, 未暂存的
- 已暂存: 对应 git add.后的, 位于暂存区
- 未暂存: 对应 git add.前的
- 右侧: 对应 git diff
- 底部: 提交描述, 对应git commit -m " 这里是提交描述 "
2 提交历史
详细的更显所有的提交,
- 你提交的和你队友提交的
- 每次提交的内容
- 分别改了哪些东西
- 提交时间和提交人
专业程序员三连:这辣鸡代码谁写的! 不是我啊! 这哪个傻x写的!
此时, 提交历史 专治甩锅, 你懂的!
3 搜索
如图, 当你在历史中感觉内容太多一脸懵逼的时候, 配合搜索会检索到所有跟你检索关键字相关的提交, 双击之后会定位到历史中的提交记录位置, 配合历史一起食用, 专治各种甩锅, 疗效非常好, 效果极佳, 但是建议慎用以免引发降维打击!
未完待续
我是个Coder界的小学生, 如有不足, 万望不吝指教
转载请注明作者和链接哦!