Tower
是Mac
下最好用的git
管理工具,好吧使用其它工具如SourceTree
的也可以开骂了,但是确实不能否认Tower
的优点,在腾讯内部也多使用该工具作为git管理工具,不要迷信使用终端命令的都是牛人,界面化工具就是用来提升效率的。
一、Tower下载及破解版安装
Tower
的破解版本可以在我的百度云盘下载。下载完成后,需要双击运行该文件即可完成破解。
破解版本的Tower安装后打开如下图:二、使用Tower拉取工程
拉去工程分为以下几步:
-
点击Clone如图输入工程RemoteURL:
- 点击Clone,如果你所使用的电脑已经有了权限,工程就会开始拉取,但也可能遇到
gitLab remote: HTTP Basic: Access denied fatal: Authentication failed for
这个错误。没有权限 - 这时候检查git的配置是否正确。打开终端使用
git config --list
查看git配置。如果用户名和邮箱不正确,可以使用git config user.name [填写你的用户名]
命令配置git的用户名,使用git config user.email [填写你的邮箱]
配置邮箱以及密码的设置。 - git配置正确,还是无法拉取项目,可以在上图中
account
位置添加账号。如图:
-
Private Token
从哪里来?如果你使用的是gitLab那在个人中心设置页面会有该值如图:
其它的可以自行查找。 -
拉取到的工程样式如下:
三、Tower简单使用
工程往往分master、dev、release三个版本,主要功能如下:
pull:
在多人开发过程中,在你的小伙伴push
之后,tower
会track
到对应分支的change
。在你push
之前是必须要先pull
下来你小伙伴提交的代码。pull
主要有以下两种使用方式:
-
再贴上一张提交的详图,方便讲解。
这是一个详细的提交视图的截图:
- 左侧菜单栏中,Branches包含工程的本地分支,在origin中包含的是git库的分支,
HEAD
标识当前正在track
也就是当前的工程目录。 - 中间的master-sdk> origin/master-sdk包含了开发者的提交信息,包括时间简介等。一般为了规范,提交的代码说明会有特定的格式如:
[TXQQ]:qq空间图片浏览添加3DTouch功能。
附件说明位置可以填也可以不填。
在master-sdk> origin/master-sdk一栏中任一点击一个提交,即可查看具体的代码修改,如右侧e243a3be
下的详情,这个记录修改的编号在一个工程中仅有一个。点击打开小箭头即可查看对应的内容代码修改。
下面是几点在使用pull
过程中的注意事项:
1、 在使用pull
命令时,如果在左侧菜单栏的Working Copy
区有数字标识,如下:
说明当前有更改没有提交,这时候,你可以有两种处理方法,根据具体情况选择即可:
①双击Working Copy
展开中间的视图,查看对应的代码变化,
舍弃本地的更改即可。
2.如果当前的提交是需要被提交的,但是功能又没有完全实现,又需要'pull'小伙伴的代码怎么办。比如,你开发中用到了小伙伴的工具类,但这个工具类中提供的接口发生了更改,你需要让你的小伙伴把最新的更改提交,然后使用他新的接口,这个场景在开发中时有发生的,所以这就用到了Stash
。
Stash
的作用,就是缓存你暂时不想提交,但是又想保留更改的文件。具体使用如下:
- 先选中要
Stash的文件
,点击顶部菜单中的Save Stash
,这时候填写一个Stash内容的信息即可。 - 在处理完其他事项,也就是
Working Copy
区没有更改的数字时,即可点击Apply Stash
恢复前面保存的代码。
3.Revert:
Revert功能在git中用的较多,应用场景例如:开发的新版本功能忘记拉取分支,直接提到了'master'上,并且在不知不觉中已经有了多次提交,这时候,想要可以在'master'上右键选择对应的提交记录,选择revert
之后将workingCopy里的代码重新提交,就生成了一条Revert记录。
不用害怕代码丢失,你可以从Revert之前的任何一次提交记录拉取分支。
4.Cherry-pick:
cherry-pick就是从不同的分支中捡出单独的commit,并把它和你当前的分支合并。
5.Abort
先说一个场景:如果在pull
操作之后发生了冲突,当改pull
操作属于误操作的时候,可以在冲突的页面选择Abort
摒弃本次的合并。