说到提交代码,就要说到版本控制和客户端工具了。 SVN 、Git 都是版本控制系统,也就是我们平时提交代码、拉取代码的服务。
最近这些年 Git 被使用的最为广泛,无论是全球最大开源社区 GitHub,还是国内的 Gitee,亦或者公司自建的 GitLab。如果现在你说还在用 SVN ,恐怕会被笑话老古董。
那么,我们平时用 Git 的开发者都用什么方式管理代码呢,也就是用什么客户端工具来做提交、合并、拉取等操作呢?
命令行 命令行工具,低调而奢华的存在。感觉用命令行的不是大牛,起码也是个小牛。
Git 世界里用命令行,就像写代码用 Vim 的大佬。
本身再华丽的工具其实底层也是调用的 Git 命令,这个是必然的。但是纯用命令行还是需要一些勇气的,那么多命令,全靠脑子记住是不容易的,相信再厉害的人也需要长期的使用才能熟练掌握,当然智商高的人需要的时间更短一些。
用命令行的好处是你不需要装第三方工具或插件,随便用个命令行工具就能直接来。而且同事看到你用命令行会忍不住夸你真牛x(ps:实际上可能在说,真装x)
但是吧,一般的场景用命令行还行,碰到一些复杂的场景,用命令行就显得有点儿麻烦了,比如看分支树啊、解决冲突合并啊就麻烦了。
对于那些只有我一个人开发的小项目,我一般用命令行。
IDE插件 再有就是各种 IDE 插件了,不管你是用 IDEA、PyCharm ,还是 VsCode 都自带 Git 功能。
用 IDE 自带的Git工具的好处就是方便,写好代码,点点按钮,代码就可以提交了。
开发和代码管理无缝衔接,不用和其他工具切来切去的。并且绝大部分功能都可以覆盖到,是大多数开发者的首选。
GUI客户端 虽然 IDE 自带的功能已经能满足大部分需求了,但是有些人还是更喜欢用独立的客户端工具。用这些工具呢有几个好处:1、上手容易,显示直观,新手拿到工具就能用;2、界面美观,有时候颜值还是很重要的;3、功能一般会比较强大,但是强大的可能会收费;4、对于很多超大型项目来说,用命令行是基本上不可能的,这时候只能用工具了;
有的客户端工具还是收费的,比如 GitKraken 和 Fork 这两个工具,功能强大,但是收费。
有哪些免费的客户端工具呢?
GitHub Desktop GitHub Desktop 由 GitHub 开发,对于个人是免费的,对于团队是收费的。
下载地址:https://github.com/apps/desktop
对于个人开发者来说,尤其是代码托管在 GitHub 上的开发者,用 GitHub Desktop 就很方便了,无缝和 GitHub 集成。
Sourcetree Sourcetree 是一款免费的 Git 客户端,适用于 Mac 和 Windows 系统,旨在简化与 Git 存储库的交互,让用户专注于编码。
下载地址:https://www.sourcetreeapp.com/
Sourcetree 支持很多高级功能,包括 Git Large File Support、Git - flow、Submodules、Local commit search、Interactive rebase、Remote repository manager 等功能。
我的前端同事就喜欢用 Sourcetree。
UGit 腾讯发布一款客户端工具 UGit,是腾讯内部使用的一个工具,免费使用。
但是也不是整个公司都在用,可能有戏团队用的比较多吧,因为游戏项目一般都比较大,好多资源文件,对于大文件来说,很多 Git 工具会出现问题。
下载地址:https://ugit.qq.com/zh/
其官方介绍:
内置LFS模版,腾讯众多大型项目LFS管理经验沉淀,尤其是游戏项目。 支持对仓库或工作区进行大文件分析,以便于更好的配置Git LFS规则。 提交时,可根据工蜂单文件大小限制,提示用户将超限文件纳入Git LFS管理。 支持单仓库或多仓库清理LFS缓存,快速解决磁盘空间不足问题。 支持使用UGit本地LFS Cache加速服务,体验极致的下载速度。 最后 选哪个完全看你自己喜欢,但是并不是绝对的。
一般都是几种方式混着用,简单操作用命令行,日常开发就IDE插件,真正需要必须图形化的时候用 GUI。
大家可以在评论区分享一下,你们最常用什么工具提交代码?
👇🏻 点击下方阅读原文,获取鱼皮往期编程干货。