情况是几个客户开发了大多数为静态HTML类型的网站,但是他们需要部署到的服务器没有您通常使用的1990年代协议集(例如,没有FTP)。实际上,根本没有访问前端服务器的权限。部署通过Git处理。需要将更改推送到只能通过SSH密钥登录访问的远程存储库。由授权密钥推动的对master分支的任何提交都会触发一个将站点部署到生产服务器的钩子脚本。
我正在建议OS X的Git客户端建议:
使设置和初始化相对简单...
...一个或多个本地存储库。
...单个git + ssh远程。
...使用身份验证一个RSA密钥对(生成密钥将是一个加分项)。
具有一个简单的界面,可以轻松完成基本的提交和推送工作流程,而无需了解分布式版本控制的复杂性。
每个客户端都有一个GitLab实例,该实例在每个域中都有一个项目,因此添加其公钥相当容易。它还提供了每个项目的克隆/远程URL,并使得检查远程存储库的状态变得相当容易。
首选开源,但任何知名的免费软件都是可以接受的。我应该将它们指向哪些客户端软件?
编辑:到目前为止,大多数建议似乎都集中在Git所有功能的成熟前端上。我正在寻找更精简的东西,这些东西只涵盖基础知识,比与大型犬一起跑步更适合于特定任务。我在这里将KISS原则用于那些不将版本控制用于其他任何事情而只想“上传”其网站的人。
#1 楼
我曾经用GitX做过琐碎的Git工作。它具有最小的用户界面,足以添加,拉出,推送和提交。但是,生成密钥必须通过命令行完成。还有其他GitX-fork可用。最初的重点是简单性。
#2 楼
塔当我厌倦了免费选项后,我切换到塔。我知道您追求OSS /免费,但仍然认为这是有益的,即使对于其他正在寻找Git应用程序的人(也提供学生/教育折扣)。
标语是“最强大的git Mac用户端”,我也认为它是最容易使用的客户端之一。当然,它可以处理许多您不需要的功能,但是它具有非常简单的存储库设置,并且行为与您对OS X应用程序的期望一样(快速查看,拖放,与其他一些工具集成) diff等常见应用程序。)
设置/管理存储库非常简单,可使用简单的选项克隆SVN存储库,或创建GitHub / Beanstalk / Bitbucket存储库。在存储库之间切换很简单(单击两次)。
我通过
~/.ssh/
中的SSH密钥亲自进行身份验证,该密钥是通过ssh-keygen
(内置于OS X)生成的。通过SSH使用git可以自动使用它,除了故意将密码字段留空之外,我从未在Tower中进行任何身份验证设置。我不确定它实际上是否可以生成密钥。它有一个非常简单的“状态”选项卡,用于查看已修改/未版本控制的文件,每个文件的复选框登台(和一个全阶段按钮)以及按钮用于提交,推动和拉动。用户确实必须知道在提交后需要推送。
有一个不错的“提交”选项卡,用于查看提交历史记录,其中显示了差异,还允许您在外部差异工具(如Xcode中的FileMerge)中打开差异。 )。
#3 楼
当我在OSX上开始使用git时,我偏爱SourceTree。该应用程序是免费的,不太复杂,我的要求之一是拥有一个多平台的应用程序(Windows和OSX)。 br />
评论
目前,我更喜欢SmartGit而不是SourceTree。两者都尝试过,SourceTree无法检测到我在命令行中使用git status可以检测到的更改。
– Michael S.
16-3-22在18:20
#4 楼
我在开发GitKraken的团队中,所以我有点偏见,但我强烈建议您检查一下。它是跨平台的,因此您可以在Windows,Mac和Linux中使用相同的工具,并且它还具有其他一些独特功能,包括撤消/重做,索引搜索和快速响应的直观设计。如果GitKraken不适用于您,那么我也曾经使用过GitHub Desktop(Windows / Mac)并取得了一些成功。评论
看起来很有趣。除了最复杂的应用程序之外,很少有应用程序可以让您查看一个文件的历史记录stackoverflow.com/questions/278192/…。也许您会考虑添加它。
–锁骨
16年2月8日在5:43
是的,这非常重要,我们肯定正在计划这样做。请留意即将发布的版本!
–克里斯
16年2月8日在13:55
太棒了期待@克里斯!
–锁骨
16年2月8日在15:58
GitKraken很有前景,但还不够成熟,无法用作git交互的独特工具。在我的情况下,我使用git-flow,并且我经常需要控制台来获得所需的结果。
–乔尔·萨拉明(JoëlSalamin)
16-3-22在22:19
#5 楼
如果您需要基本的git gui,则可以查看Visual Studio Code。它是免费的开放源代码,可在Windows,Mac和Linux上运行。它不是功能完善的git客户端,只是具有pull,push和commits等基本功能。我认为它不会做ssh设置部分。您可能必须编写一个简单的Automator脚本才能做到这一点。
https://code.visualstudio.com/
评论
请注意,我针对Windows询问了类似的问题,但是我特别希望熟悉和容易使用的工具不为所动。跨平台是可以的,但是我有一个想法,对于新手来说,最好的新手解决方案将是每个平台的固有特性,因此在回答时请记住这一点。Gitti(当前为beta),Gitbox(免费状态尚不清楚)和Git-cola看起来是潜在的竞争者。如果有人对其中之一有经验并想写一篇建议如何处理这种情况的文章...