常用源代码管理工具与开发工具简要总结
各种源代码版本管理软件简介
* GitHub
GitHub 于 2008 年 4 月 10 日正式上线,除了基本的服务以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能,其是第一个供“用Git进行版本控制系统的软件开发项目”使用的基于Web的代码托管服务,是目前全球最大的开源社交编程及代码托管网站。
* Gitlab
- 简介:一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,由GitLabInc.开发,且具有wiki和issue跟踪功能,是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私人项目。
- Gitlab服务构成:
Nginx:静态web服务器。
gitlab-shell:用于处理Git命令和修改authorized keys列表
gitlab-workhorse: 轻量级的反向代理服务器
logrotate:日志文件管理工具
postgresql:数据库
redis:缓存数据库
sidekiq:用于在后台执行队列任务(异步执行)
* BitBucket
一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户,Bitbucket空间免费的套餐容量是1GB,支持5个用户协作,提供二级域名个人主页,还可绑定域名,可通过个人代码主页直接用自己的域名访问,方便团队协作。
Git基本操作命令:
- git init 新建一个空的仓库
- git add * 向git添加所在目录下的所有文件
- git status 查看状态
- git commit -m '注释' 提交添加的文件并备注说明
- git remote add origin git@github.com:jinzhaogit/git.git 连接远程仓库
- git push -u origin master 将本地仓库文件推送到远程仓库
- git log 查看变更日志
- git reset --hard 版本号前六位 回归到指定版本
- git branch 查看分支
- git pull 更新
- git branch name 创建一个分支(名为name)
- git checkout name切换到名为name分支上
- git branch -d name 删除名为name的分支
- git merge name 把名为name分支合并到当前分支上
- git pull origin master 将master分支上的内容拉到本地上
GitHub、Gitlab、Bitbucket之间的异同
名称 | 优点 | 缺点 |
---|---|---|
GitHub | 其具有错误跟踪功能,可通过在项目中检测到的软件错误记录来提高代码质量;能快速搜索,存储库提供方便的项目结构,允许有效的搜索和排序,SEO允许用户在公共存储库中找到任何代码字符串;用户可进行沟通,评论,编辑和跟踪新闻;项目源代码可使用Git进行复制,也可作为归档下载;可协作开发;具有兼容性;支持Git,SVN,HG,TFS导入 | 其服务不是完全免费的,如果想要享受GitHub提供的所有功能,需要付费;对于文件大小有限制,文件大小不能超过100Mb,存储库可以托管信息1Gb |
Gitlab | 用户可拥有无限数量的私有存储库;对于GitLab的企业版,在其基本功能之上增加了一些额外的功能,从而改善了与在线工具,工作流和服务器管理等的交互;GitLab在开源许可证下运行;其具有错误跟踪和基于Web的代码编辑的功能;与LDAP集成,允许在Internet上定位和访问各种资源;支持多种LDAP服务和组同步;支持Git导入 | 界面相对较慢;存在一些存储库常见的技术问题 |
Bitbucket | 对于小团队免费,即最多5名成员的团队将获得无限数量的免费存储库;是一个集成的查询管理系统;通过社交媒体和GitHub认证;BitBucket和Jira在整个开发阶段都做了整合,通过集成的错误跟踪组件,JIRA自动更新有关检测到的问题的信息;可导入现有Git项目,支持Git,CodePlex,Google Code,HG,SourceForge,SVN导入 | Bitbucket系统不稳定 |
各种源代码集成开发工具软件简介
* MyElipse
一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,在Eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发,可在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率,已支持PHP、Python、Vue、Angular、React、Java、Java EE等语言和框架开发。
* Microsoft Visual Studio
一个基本完整的开发工具集,其包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等,所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone,其是最流行的Windows平台应用程序的集成开发环境
* HBuilderX
DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE,其编写用到了Java、C、Web和Ruby,HBuilder本身主体是由Java编写,基于Eclipse,所以兼容了Eclipse的插件,快HBuilder的最大优势是迅速,快,通过完整的语法提示和代码输入法、代码块等,大幅提升HTML、js、css的开发效率。
* PyCharm
一种Python IDE(集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,例如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制等,并提供了一些高级功能,以用于支持Django框架下的专业Web开发。
* Android studio
谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。
* NetBeans
Sun公司在2000年创立的开放源代码供开发人员和客户社区的家园,旨在构建世界级的Java IDE,其当前可以在Solaris、Windows、Linux和Macintosh OS X平台上进行开发,并在SPL(Sun公用许可)范围内使用。NetBeans包括开源的开发环境和应用平台,NetBeans IDE可以使开发人员利用Java平台能够快速创建Web、企业、桌面以及移动的应用程序,并支持PHP、Ruby、JavaScript、Groovy、Grails和C/C++等开发语言。
* IntelliJ IDEA
java编程语言开发的集成环境,其在业界被公认为最好的java开发工具,功能齐全,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能,其旗舰版本支持HTML,CSS,PHP,MySQL,Python等,但免费版只支持Java,Kotlin等少数语言。
* Code:: Blocks
一个开放源码的全功能的跨平台C/C++集成开发环境,其是开放源码软件;Code::Blocks由纯粹的C++语言开发完成,其使用了著名的图形界面库wxWidgets(3.x)版。