SmartGit / Hg 是一个免费的非商业用途软件项目,一个基于Web的软件存储库客户端,用Java编程语言编写,旨在支持Git,Mercurial和Subversion分布式版本控制系统
功能一目了然
使用SmartGit / Hg,您将掌控一切。该软件可以显示仅存储库的目录和文件,事务以及带注释的文件。它能够执行各种功能,包括状态,差异,日志,推送,提取,获取,合并,樱桃挑选合并,rebase,以及藏匿,标记和分支管理。
此外,它允许您在推送提交之前修改提交,恢复丢失的提交,以及在文件中提交单个行。它不需要额外的工具和库,内置SSH客户端(Secure Shell),合并工具和文件比较工具。
它具有简单和用户友好的设计
专注于什么&rsquo非常重要,SmartGit / Hg软件具有简单和用户友好的设计,不会给用户带来愚蠢的问题。为了使用该软件,并不要求阅读全面的手册。
支持流行的网络服务
另一个有趣的功能是内置支持各种Web服务。这意味着您可以使用SmartGit / Hg从GitHub,Assembla和许多其他托管提供商进行克隆。此外,您还可以查看注释,以及创建和解决GitHub拉取请求。
主流操作系统支持的跨平台软件
SmartGit / Hg是用Java编写的,是一个独立于平台的应用程序,可在GNU / Linux,Microsoft Windows和Mac OS X操作系统上运行。 Ubuntu是唯一官方支持的Linux发行版,目前支持32位和64位架构。
最好的Git,Hg和SVN客户端
SmartGit / Hg毫无疑问是最好的Git,Hg和SVN客户端。虽然这将有助于初学者获得的东西在快速,无痛的事情开始,它有助于专家比以往任何时候都变得更有效率。
什么是此版本的新:
- 此版本主要修复了一些错误。
17.0.2 / 17.1版本中的新功能预览3:
- 新功能,改进:
- GIT中:
- 刷新:未跟踪/缺少重命名检测荣誉“core.jgit.similarityFileSizeLimit”避免内存不足错误
- 修正了错误:
- GIT中:
- 日志:
- GitHub:可能无尽的清爽
- GitHub:更新默认指纹
- GitHub,其他托管服务提供商:如果已知的新指纹,请不要警告更改指纹
- undone"自动设置java.net.useSystemProxies = true(如果未设置)以改进代理的自动检测“因为它导致总是使用系统代理,即使“无代理”也是如此。已在SmartGit中配置
- GUI(Windows):默认明亮主题中的排序列太暗
版本8.0.4 / 17 RC3中的新功能:
- 新功能,改进:
- 添加分支和其他:使用可自定义的有效字符替换无效字符:smartgit.branch.replaceInvalidCharsWith = _
- Bitbucket,GitHub:支持git@name1.github.com这样的网址:accountname / repository.git
- Push,JIRA Resolve:
- 能够配置哪个分支(不)检查$ git config分支。 smartgitJiraResolve false
- 显示问题说明
- 修正了错误:
- 更改预览:使用键盘滚动文件表时减少了线程创建
- JIRA:如果bugtraq配置包含无效的项目密钥 ,则失败
- SSH:〜/ .ssh / config中的值未正确应用
- 存储(按需):不要尝试存储子模块更改,因为这不起作用
版本8.0.3 / 8.1预览版5中的新功能:
- 新功能,改进:
- 添加分支和其他:使用可自定义的有效字符替换无效字符:smartgit.branch.replaceInvalidCharsWith = _
- Bitbucket,GitHub:支持git@name1.github.com这样的网址:accountname / repository.git
- Push,JIRA Resolve:
- 能够配置哪个分支(不)检查$ git config分支。 smartgitJiraResolve false
- 显示问题说明
- 修正了错误:
- 更改预览:使用键盘滚动文件表时减少了线程创建
- JIRA:如果bugtraq配置包含无效的项目密钥 ,则失败
- SSH:〜/ .ssh / config中的值未正确应用
- 存储(按需):不要尝试存储子模块更改,因为这不起作用
版本7.1.1 / 7.2中的新功能预览1:
- 新功能,改进:
- 添加分支和其他:使用可自定义的有效字符替换无效字符:smartgit.branch.replaceInvalidCharsWith = _
- Bitbucket,GitHub:支持git@name1.github.com这样的网址:accountname / repository.git
- Push,JIRA Resolve:
- 能够配置哪个分支(不)检查$ git config分支。 smartgitJiraResolve false
- 显示问题说明
- 修正了错误:
- 更改预览:使用键盘滚动文件表时减少了线程创建
- JIRA:如果bugtraq配置包含无效的项目密钥 ,则失败
- SSH:〜/ .ssh / config中的值未正确应用
- 存储(按需):不要尝试存储子模块更改,因为这不起作用
版本7.0.3 / 7.1预览版6中的新功能:
- 新功能,改进:
- 支持高分辨率图形(HiRes,HiDPI)
- smartgit.vmoptions(Linux,Mac):支持“path =”属性
- 修正了错误:
- 如果.git链接文件包含CRLF ,则刷新:内部错误
- 查看|显示分阶段文件:如果未选中,则未显示某些冲突文件
版本7.0.2中的新功能:
- 新功能,改进:
- Atlassian Stash支持:添加“使用SSH而非HTTPS”选项
- Hg:http-access现在在出现错误时更加强大
- 修正了错误:
- Atlassian Stash支持:客户端证书不起作用
- BitBucket支持:名称中包含空格的克隆存储库无法正常工作
- GIT中:
- 日志:切换类似“origin”的类别(自7.0.1以来的回归)
- Windows:启动程序包含无效的dpiAware清单条目
版本6.5.9 / 7预览版10中的新功能:
- 修正了错误:
- GIT中:
- 日志:无效合并处理可能出现的内部错误
- 刷新:与子模块相关的警告通知无法关闭
- OS X 10.11预览:可能的内部错误
版本6.5.8 / 7预览版4中的新功能:
- 修正了错误:
- GIT中:
- 提交/还原/其他:已删除的子模块也可能显示为文件
- 丢弃:将子模块重置为仍重置为HEAD的索引
- 刷新:
- 删除的子模块可能不会显示
- 跳过的子模块有助于目录“修改”状态
- GitHub:组织支持被打破
版本6.5.6 / 7预览版4中的新功能:
- 新功能,改进:
- GIT中:
- 外出观点:改变提交作者的能力
- Revert:添加了vm-property“smartgit.revert.commitMessageTemplate”来自定义提交消息;使用$ {message}和$ {sha}作为还原提交的消息或SHA ID,并使用n添加换行符
- 添加或创建存储库:即使指定了admin子目录(.git / .hg),也检测存储库
- GitHub:即将推出的OAuth API更改的兼容性修补程序https://developer.github.com/changes/2015-02-20-migration-period-removing-authorizations-token/
- GitHub,Stash,Bitbucket整合:建议配置的通知
- 修正了错误:
- 责备:当焦点位于文件内容窗格 时,Ctrl + Z加速器不起作用
- 刷新/其他命令:与Cygwin安装相关的可能挂起(Cygwin Git,Open SSH)
6.5.6版中的
新功能:
- 新功能,改进:
- GitHub的:
- 在创建拉取请求时预先选择“默认”分支(请参阅参考资料)
- 更有效的查询
- 支持即将发布的与组织相关的API更改
- 修正了错误:
- 汞柱:
- 责备:可能的内部错误
- 存储库管理:删除可能已在第二个窗口中打开的存储库的可能内部错误
- speed-search:使用输入法编辑器输入字符的内部错误
- 启动失败并显示“SmartGit已启动升级”错误
- SVN:
- 克隆:svn可能出现的问题:特殊设置
- push可能会创建一个分支“foo + bar”而不是推送到现有分支“foo bar”
- 文本编辑器:使用快捷方式 调用时,撤消/重做执行了2个步骤
- 视窗:
- 由于无法访问任务栏控件,某些系统立即崩溃
- 首选项:过时的hg可执行文件阻止关闭对话框
6.5.5版中的
新功能:
- 修正了错误:
- GIT中:
- 外部工具:如果输出目录在路径中包含空格 ,则默认外部工具“格式修补程序”失败
- 日志:Cherry-Pick和Revert在过滤视图中不起作用
- 拉:如果存在并且没有跟踪分支<“li>,则不会预先选择”origin“
- 推送:可能的内部错误
- SVN:
- 尝试推送新分支时出现内部错误
- Linux的:
- 删除存储库视图上的目录(添加存储库)不起作用
- 内部错误
- OS X:
- 更改工具栏有时会丢失“下一个更改”项目
使用IBM JRE启动时出现
6.5.4版中的
新功能:
- 新功能,改进:
- 推送:支持“push.default = current”
- GC调用已减少
- 添加了VM属性“smartgit.branch.tagExcludeRegEx”,以通过排除不感兴趣的标记来改善具有大量标记的存储库的日志相关速度,例如:自动生成的,通过指定正则表达式
- 修正了错误:
- 责备:比较/日志对移动/重命名的文件不起作用
- Cherry Pick(不提交):忽略“追加源SHA提交消息”选项
- 提交错误地将分阶段子模块视为本地更改,因此显示出恼人的警告
- GitHub:无法克隆“.wiki”存储库
- 刷新:文件监视器被禁用的问题
- 工具:
- 一个配置为使用2次提交的工具,没有同时提供“方向”
- 更新
- 的Mac:
- 管理员权限可能不会被要求
- 〜/ Library / Preferences / SmartGit / updater目录未正确清理
- 可能无休止地等待尝试退出SmartGit
- 窗口|新窗口:可能已打开两个窗口
6.5.2版中的
新功能:
- 新功能,改进:
- GIT中:
- 分支:添加VM属性以配置“其他”引用显示的内容,例如“smartgit.branch.otherRefs =笔记;存档”
- httpproxy:现在通过环境变量传递(而不是命令行配置)以使密码不太可见
- 日志:
- 如果选择了合并提交,则会在“更改”视图上方显示ID,以明确显示哪些更改
- 刷新:如果检测到可能的性能问题,将提供更详细的通知
- 自动更新:
- 成功下载通知可关闭
- GUI
- 提高了性能,尤其是在调整日志窗口大小时
- 修正了错误:
- GIT中:
- GitFlow:除了HEAD是一个特殊的分支 之外,合并通常应该可用于功能分支
- 获取更多:仅适用于单个头部的克隆
- 刷新:
- 在子模块的情况下可能过于令人耳目一新
- Windows,Linux:移动目录后可能无法正常刷新
- 比较和其他:对于有大量更改的大型文件的性能问题
- 冲突解算器或索引编辑器:当前行突出显示不起作用
- VM属性“smartgit.executable.home”并不总是被尊重
- GUI:
- 删除组未更新嵌套的,打开的存储库,可能导致内部错误
- 已删除冲突解算器默认加速器,因为它与speedsearch冲突
- 尝试打开一个不存在的存储库:发生确认对话框未激活
- OS X 10.10(约塞米蒂):删除窗口&gt;全屏,因为最大化具有相同的效果
6.5.1版中的
新功能:
- 新功能,改进:
- Repository Provider Select Repository对话框:添加了speed-search
- 根据多个用户请求恢复了启动画面
- 修正了错误:
- GIT中:
- Git-Flow:完成发布没有删除远程分支
- 刷新:“缺少”目录有时会消失
- 汞柱:
- 责备:如果已删除位置0处的行,则可能出现内部错误
- 输入已更改的文件打开2文件比较
- “高内存使用率”通知高估了已用内存,因此经常出现
版本6.0.8中的
新功能:
- 修正了错误:
- GIT中:
- 忽略:为多文件选择启用了“明确”选项
- 存储库:裸存储库显示为已修改
- 汞柱:
- 刷新:“坏”分支头缓存可能导致的内部错误
- 一个bug可以在短时间内产生大量的bug * .ziip文件
- Linux:Linux更新后的本机崩溃(与libcairo相关)
- 使用Java 1.8.0_25 打破了密码处理
- SSH:如果临时目录包含空格,则内置SSH客户端无法正常工作
6.5版RC2中的
新功能:
- 新功能,改进:
- GIT中:
- 分支机构:
- 重命名:现在也适用于当前分支
- 从远程分支创建分支:在更改本地分支名称时取消选中跟踪复选框
- 提交消息最多只能加载到4kB
- GitHub:拉取请求标题/描述仅由换行符分隔,而不是句号
- 远程|配置重命名为远程|属性
- “高内存使用率”检测将更容忍,因此不太可能发生
- 修正了错误:
- GIT中:
- 日志:重命名检测没有规范化行结尾
- OS X: - 刷新:执行命令后,包含跳过文件的目录可能会消失
- SVN存储库的远程|属性(配置)已中断
- 安装向导:在OS X 10.9+ / usr / bin / git上未经验证,除非SmartGit“认为”安装了Git(否则OS X将显示一个对话框,要求安装Git,尽管没有必要)
- 存储库: - “切换窗口时状态丢失 - 打开存储库组已关闭的存储库已打开
- GUI: - 加速器无法使用,例如,俄语键盘布局 - 文件/目录拖放到输入字段已被破坏
- 文件:“状态”的内部错误排序和“跳过”文件
- 表格:删除上一个项目之后选择下一个项目,不可靠
6.5版RC1中的
新功能:
- 新功能,改进:
- 分布式评论:添加了菜单项“显示关闭拉请求”
- 日志:
- 提交图表:
- 显示鼠标悬停部分的参考数量
- meta refs仅显示在鼠标悬停部分
- 修正了错误:
- GIT中:
- 分布式评论:日志继续显示集成后的拉取请求
- 重命名:无法通过按目录上的F2 来调用
- 启动:“可能的刷新性能问题”没有兑现已设置“smartgit.executable.home”属性
- Hg :(经过身份验证)http连接断开
- SVN:
- 编辑(最后)提交消息:显示SVN信息(例如来自cherry-pick)
- 密码存储:已破解最新的Java版本,例如1.8.0_25
- 默认情况下未启用内容中的UTF-8检测
- GUI:
- 通知:可能会显示过时的通知
- OS X 10.10(“Yosemite”):渲染搜索输入字段时出现问题
- 表格:删除上一个项目之后选择下一个项目,不可靠
- Windows:未使用个人%APPDATA%syntevoSmartGitsmartgit.vmoptions
6.5版预览版7中的
新功能:
- 新功能,改进:
- 自动更新:点击“显示更改日志” 后,“新版本”通知应保留
- 比较:与花括号相关的优化,为复杂的差异提供更合适的结果
- 存储库:表示“裸露”,已关闭的存储库
- 子模块:
- Deinit功能
- 取消注册应该在上下文菜单和deinit子模块中可见
- 修正了错误:
- 责备:调用登录“”行 时出现内部错误
- 分支机构:
- 切换到仅限远程的功能分支,选择远程 下新发生的分支
- 为“裸”存储库启用了拉
- 比较/记录&gt;另存为:二进制文件可被视为文本文件(行分隔符转换)
- 快进合并工具使用了错误的分支
- GitHub的:
- 创建拉取请求:将HEAD列为目标分支
- 错误“未找到对象'正文'。”对于特殊存储库
- 日志:如果已为此存储库打开了日志,则显示主窗口中的分支/存储无法正常工作
- 刷新:无法检测到在SmartGit之外新近初始化的存储库的更改
- 设置跟踪分支:列出的meta-refs
- 子模块:“添加”子模块的工作树状态不是“As Index”
- 其他变化:
- 挂起GUI线程的自动线程转储日志记录
- 从Windows安装程序/便携式软件包中删除了默认的mercurial
6.5版预览版6中的
新功能:
- 修正了错误:
- 比较/冲突解算器:读取带有字节顺序标记(BOM)的文本文件已被破坏,导致它在保存时被写入两次
- GIT中:
- 日志:可能会跳回去提交
- 汞柱:
- 存储库在打开时未显示传出箭头,但在关闭时
- .hgignore:**没有按预期工作
版本6.0.7中的
新功能:
- GIT中:
- 注释:可能的内部错误
- 提交:对话框关闭过快时可能出现的内部错误
- 比较:可能的内部错误
- 忽略:尝试忽略“foo [”按名称 等文件时出现内部错误
- 输出视图:可能的内部错误
- 拉取:未选择的选项“并初始化新的子模块”未被尊重
- 刷新:
- 未跟踪目录中的子模块可能不会显示
- 对于稀疏检查,显示了意外丢失的目录
- 查看|忽略的文件:如果选中,如果未选择“查看”|“未更改的文件”,则不会显示未初始化的子模块
- 汞柱:
- 分支:名称中包含空格的分支未正确处理
- 日志(基于对话框):关闭时可能出现内部错误
- 刷新:可能的内部错误
- SVN:
- 克隆:可能的内部错误
- 拉动:未初始化子模块时可能会误导本地状态的警告
- 推送:可能的内部错误
- GUI:
- 文件路径完成:可能的内部错误
- 内存不足错误对话框:退出按钮无法正常工作
- 内置SSH客户端:不支持域名用户名,例如用户@域
6.5版预览版5中的
新功能:
- 新功能,改进:
- 首选项:删除过时选项“GitHub:如果需要请求主密码”
- 修正了错误:
- GIT中:
- 还原&amp;提交:保持还原消息直到下一次提交
- 假设 - 未更改状态取代了丢失/删除状态
- 更改视图:子模块的显示已中断
- 外部工具:
- 不适用于已关闭的存储库
- 即使没有任何存储库,也会启用“应用修补程序”
- 更新程序(Mac / Linux):如果以前的更新需要提升,则可能出现问题
- 未调用Shutdown-hooks导致例如临时目录无法清除
6.5版预览版3中的
新功能:
- 新功能,改进:
- GIT中
- 冲突解决方案:显示二进制文件的类似解析的对话框
- 文件比较:未检查具有正确行分隔符的索引和HEAD状态
- Git Flow:
- 为Finish Release 配置标记名称的选项
- 同时支持多个发布分支
- GitHub的:
- 可选择添加“upstream”remote以简单地从分叉存储库中获取
- list还加星标存储库
- 拉:避免混淆“你处于'超级HEAD'状态。”消息
- 解决:打开冲突解算器的选项
- 更新
- 出现错误时会显示更多详细信息
- Windows:使用高程执行可执行文件而不是脚本
- 修正了错误:
- GIT中
- 后台获取/轮询:禁用某些遥控器的optiion有时不受尊重
- 更改:甚至显示二进制文件的EOL信息
- 外部工具:如果不需要确认,在单一选择的情况下仍会将$ {commit}作为第二个参数传递
- 文件比较,日志|另存为:没有使用正确的行分隔符检出索引和HEAD状态
- 日志:
- 详细信息:单击“提交”链接未在“提交视图” 中找到它
- 刷新可能无法在合并/挑选/重新定位/恢复期间/之后获取更改
- 还原和还原&amp;提交没有产生相同的提交消息
- 评论:与rebase集成为远程请求分支提供了内部错误
- SVN:
- 克隆将svnkit:条目属性映射到.gitattribute
- Linux(非Ubuntu):看起来丑陋的GUI,颜色不正确
- 更新
- 甚至对&lt;进行了高度检查。 Windows Vista
- 启动时,取消高程时,SmartGit挂起而没有GUI
- 在Windows上,当从64位Java启动SmartGit时失败
- git,mercurial和jre目录即使在安装了no-JRE包时也已创建
- 可能的内部错误
版本6.0.6中的
新功能:
- 新功能,改进:
- SSH:添加了VM属性smartgit.ssh.defaultUser,用于配置SSH用户名,如果未在URL中指定则使用
- 子模块:按需添加VM属性smartgit.core.push.recurseSubmodules =按需推送子模块
- 修正了错误:
- 添加或创建存储库:在第二个窗口中打开已打开的存储库
- 日志:
- 详细信息:如果父提交尚未加载,则应显示信息
- 提交:内部错误拖动参考合并节点
- 日志提交选择器:在虚拟(例如合并)节点上调用复制操作的内部错误
- 修改:
- 用户电子邮件无效时可能出现错误
- 在用户名 中出现奇怪字符(如n)时可能出现内部错误
- 输入无效的电子邮件地址可能会在编辑用户后导致错误
- 提交消息丢失
- 使用选项“Merge” 时,Integrate不应快进合并
- 同步审核更改时没有推送本地拉取请求分支,相应的拉取请求可能会在远程存储库中暂时消失
- 不应在没有本地分支的情况下更新pull请求(可能导致错误“无法解析提交”
使用“合并”集成拉取请求后,
5.0.7版中的新功能:
- 修正了错误:
- GIT中:
- 身份验证:用户名包含@未正确处理
- 提交:“修改”选项可用于指向已推送提交的新本地分支
- GitHub的:
- 尝试阅读评论时出现内部错误(日期格式无效)
- 针对不属于自己帐户的存储库进行了集成
- 日志:
- 如果HEAD直接指向SHA ,则可能会错误地将HEAD提交视为已推送
- 详细信息(GitHub):如果提交包含注释,则内容将转移到右侧
- 刷新:
- 否定.gitignore模式可能无法正常工作
- 与Git索引相关的可能内部错误
- 汞柱:
- 日志:打开 后内部错误关闭窗口过快
- SVN:
- 克隆:可能“无法解析refs / remotes / git-svn”错误
- Push Commits:误报警告“由于它属于多个分支,因此无法推送提交”
- GUI:可以使更改视图小于其最小大小
- Linux:inotify-limit警告链接到不存在的文档页面
- OS X:与GUI相关的内部错误
<强>要求强>:
- Oracle Java标准版运行时环境
评论没有发现