git 工作流的使用
A deep dive into the features and benefits of the Tower git client
深入了解Tower git客户端的功能和优势
Tower is a Git client that serves both Mac and Windows, offering a range of features that stand to increase productivity and reduce frustration for all who use it. Personally speaking, Tower has revolutionized my work process so I felt compelled to take a deep dive into some of the main features and benefits that this platform has to offer in the hopes that others may benefit from my experience. This article will lay out the reasons for adopting Tower, as well as the features that I have found most useful.
Tower是同时为Mac和Windows服务的Git客户端,提供了一系列功能,可以提高生产率并减少所有使用它的人的挫败感。 就个人而言,Tower彻底改变了我的工作流程,因此我感到不得不深入研究该平台必须提供的一些主要功能和优势,以希望其他人可以从我的经验中受益。 本文将介绍采用Tower的原因,以及我发现最有用的功能。
为什么要使用图形客户端? (Why Use a Graphical Client?)
![Image for post](https://miro.medium.com/max/9999/1*KTd90foQ34DXMhOLunf_5A.png)
Firstly, I’ll be clear, I have nothing against working with the Git command line. Here are some CLI advantages:
首先,我要明确一点,我不反对使用Git命令行。 以下是一些CLI优势:
命令行客户端优势 (Command Line Client Advantages)
- Preinstalled on macOS and most Linux distributions 预装在macOS和大多数Linux发行版上
- Interoperability with other Unix commands 与其他Unix命令的互操作性
- Highly automatable 高度自动化
- Can be used remotely 可以远程使用
With respect to the last two points, I often need to log into a server and access a repository over SSH. In these cases, command-line git is my tool of choice. For the vast majority of my daily work, however, I much prefer a graphical client. I will list some of the main reasons below:
关于最后两点,我经常需要登录到服务器并通过SSH访问存储库。 在这些情况下,命令行git是我选择的工具。 但是,对于我的大部分日常工作,我更喜欢图形客户端。 我将在下面列出一些主要原因:
图形化客户优势 (Graphical Client Advantages)
First-class visualization: on a fundamental level, git is a tree of changes (commits) to a version control history (repository). In graphical clients, we get a visualization of these changes that is always available, easy to read, and interactive.
一流的可视化 :从根本上讲,git是对版本控制历史记录(存储库)进行更改(提交)的树。 在图形客户端中,我们可以直观地看到这些更改,这些更改始终可用,易于阅读且具有交互性。
Being able to visualise commits, branches, tags, comments, authors in a single graph is indispensable.
能够在单个图形中可视化提交,分支,标签,注释,作者是必不可少的。
Faster workflow: with practice (and maybe additional tools) developers can work very fast with command-line Git, but I think it’s tough to compete with graphical clients offering features like:
更快的工作流程 :通过实践(也许还有其他工具),开发人员可以使用命令行Git进行非常快速的工作,但是我认为要与提供以下功能的图形客户端竞争是很困难的:
- Drag and drop to pull, push and cherry-pick from a timeline 拖放以从时间轴中拉,推和挑选樱桃
- Multiple repository management 多仓库管理
- Shortcuts to flick between stashes, pull requests, and history. 在存储,拉取请求和历史记录之间滑动的快捷方式。
Less to remember: every time I want to clone a repository from the command line and recursively pull all submodules, I have to check online for the right command! Each Git command generally supports multiple options, and this creates a lot of overhead. I could probably keep a cheat sheet handy, but why bother when a graphical client means that I don’t have to?
不必记住 :每次我想从命令行克隆存储库并递归提取所有子模块时,都必须在线检查正确的命令! 每个Git命令通常都支持多个选项,这会产生大量开销。 我可能可以方便地备忘单,但是当图形客户端意味着我不必这样做时,为什么还要打扰呢?
为什么要专门使用塔? (Why Use Tower Specifically?)
Here are some of the reasons why Tower is my git tool of choice:
这是为什么Tower是我选择的git工具的一些原因:
优美的UI和UX (Polished UI and UX)
![Image for post](https://miro.medium.com/max/9999/1*OxdgXYQb3JMScUsFgbA-vQ.png)
A well-designed user interface (UI) and user experience (UX) is incredibly important to me. I spend a lot of time auditioning and investigating the tools I use so that I can be sure of the best, most enjoyable workflow possible. After trying many clients, I’ve found that Tower has the most polished UX out there. It’s one of those apps where everything seems to be in the obvious place and nothing has been added that doesn’t need to be there.
设计良好的用户界面(UI)和用户体验(UX)对我来说非常重要。 我花了大量时间进行试听和研究所使用的工具,以便可以确定最佳,最愉快的工作流程。 在尝试了许多客户之后,我发现Tower有最抛光的UX。 它是其中所有似乎都在明显位置且没有添加任何不必要内容的应用程序之一。
And the UX design doesn’t just extend to the UI, it also includes:
UX设计不仅扩展到UI,还包括:
Tower’s support is amazing, I usually get same-day resolutions to tickets.
塔的支持非常棒,我通常会在当天获得票务解决方案。
Tower’s documentation is outstanding. It includes guides, tutorials and webinars for Tower itself, and an entire eBook on git covering both GUI and command-line usage.
Tower的文档非常出色。 它包括有关Tower本身的指南,教程和网络研讨会,以及有关git的完整电子书 ,涵盖了GUI 和命令行用法。
拖放 (Drag and Drop)
One of the features of Tower that I use the most, besides simply making commits, is drag and drop.
除了简单地进行提交外,我最常使用的Tower的功能之一就是拖放。
![Image for post](https://miro.medium.com/freeze/max/9999/1*cPMAjD_q3gcoj7Z5KpuTeg.gif)
Most common git operations including, merge, pull, publish, cherry-pick, and branch creation can be accomplished through drag and drop.
大多数常见的git操作(包括合并,拉,发布,cherry-pick和分支创建)都可以通过拖放来完成。
冲突向导 (Conflict Wizard)
One of the most time-consuming aspects of Git is dealing with merge conflicts. Tower makes this as painless as possible with an integrated conflict wizard. This enables me to visually choose the version of a file that I want to keep or to open in an external diff tool for a more detailed line-by-line conflict resolution (for this I wholeheartedly recommend Kaleidoscope).
Git最耗时的方面之一是处理合并冲突。 通过集成的冲突向导,Tower使此操作变得尽可能轻松。 这使我能够直观地选择要保留的文件版本,或在外部diff工具中打开文件的版本,以更详细地逐行解决冲突(为此,我全力推荐Kaleidoscope )。
![Image for post](https://miro.medium.com/freeze/max/9999/1*ztq-Y8zOy7G52fzOpos2Cw.gif)
修订提交 (Amend Commits)
![Image for post](https://miro.medium.com/max/9999/1*3omo6ytQDYaTVhWVm21KKA.png)
Imagine you just made a commit and accidentally omitted a file, or you simply made a typo in the commit message; this is where Tower’s Amend feature comes in.
想象一下,您刚刚进行了一次提交而无意中忽略了一个文件,或者您只是在提交消息中输入了错字; 这就是Tower的“修改”功能的出现。
If the Amend option is checked then a commit will amend the previous commit.
如果选中“修改”选项,则提交将修改先前的提交。
拉取请求 (Pull Requests)
I use GitHub as my main hosting backend. With Tower’s integrated pull request manager, I no longer need to open a web browser to deal with PRs. Everything I need is right there in the app.
我使用GitHub作为我的主要托管后端。 使用Tower的集成请求请求管理器,我不再需要打开Web浏览器来处理PR。 我需要的一切都在应用程序中。
![Image for post](https://miro.medium.com/max/9999/1*IT9np5MUXc6GeVWDiKpW5g.png)
This saves a tonne of time switching between different UIs and workflows and enables me to focus on the actual work to be done.
这节省了在不同的UI和工作流之间进行切换的大量时间,并使我能够专注于要完成的实际工作。
撤消! (Undo!)
Last, but not least, Tower supports undo. For me, this is a gamechanger. Imagine that you just created a tag but used the wrong version number, or just went through an interactive rebase but realized you accidentally included something incorrectly. Enter undo! In Tower I can undo pretty much anything, including:
最后但并非最不重要的一点,Tower支持撤消。 对我来说,这是一个改变游戏规则的人。 想象一下,您刚刚创建了一个标签,但是使用了错误的版本号,或者只是经过了交互式基础,但是意识到您不小心包含了错误的内容。 输入撤消! 在Tower中,我可以撤销几乎所有操作,包括:
- Undo local changes 撤消本地更改
- Restore old revisions 恢复旧版本
- Revert commits 还原提交
- Recover deleted commits 恢复已删除的提交
- Undo branch deletions 撤消分支删除
I don’t use Tower’s undo feature that frequently but when I do, it’s been a lifesaver!
我不经常使用Tower的撤消功能,但是当我这样做时,它就成了救命稻草!
最后的想法和定价 (Final Thoughts and Pricing)
I’ve written previously about how Tower is a core part of my development workflow; in fact, it’s one of the few apps that I have open constantly. Whether I’m working on my main job in Xcode or a personal project in vim, I need Tower open. I have it installed on both my Mac and in my Windows virtual machine.
之前,我曾写过关于Tower如何成为开发工作流程核心部分的文章。 实际上,它是我不断打开的少数几个应用程序之一。 无论我是在Xcode中从事主要工作还是在vim中从事个人项目,我都需要开放的Tower。 我在Mac和Windows虚拟机上都安装了它。
All of this convenience does come at a price. At the time of writing, Tower is $69 per year for a dual macOS / Windows license with additional licensing options for teams. This is quite expensive, especially given that prior to 2018 a perpetual license could be purchased for $79. However, if you want the most polished and productive git client available, Tower really is the best!
所有这些便利确实要付出代价。 在撰写本文时,Tower的macOS / Windows双重许可每年为69美元,并为团队提供其他许可选项 。 这是相当昂贵的,尤其是考虑到在2018年之前可以79美元的价格购买永久许可证。 但是,如果您想要最精巧,最高效的git客户端,Tower确实是最好的!
翻译自: https://codeburst.io/supercharge-your-git-flow-with-tower-c5dc22494eba
git 工作流的使用