使用 git,既要用「命令行」也要用「UI」

2021-12-08 09:00:13 +08:00
 AndyAO

git 新手另外的困惑主要是集中在命令行和用户界面的选择上。(git CLI 设计太烂)

感觉在这个用户界面盛行的年代,新手刚开始的时候,往往用的是后者。

如果你不了解命令行,你就不能够真正的了解 git ,当出现问题的时候,你很难解决,而且你也很难根据自己的需求自动化 git 。

如果你不使用用户界面,那就意味着你完成各种交互式操作的时候,效率将非常低。

对于 git 来说,不用命令行是浅薄的,只用命令行是不明智的。

因为 cli 根本就不适合那种,需要根据各种信息,频繁进行操作的交互式场景,这些挑挑拣拣的工作在版本控制中有很多很多。

例如,你可能要浏览下当前的工作树改动,然后决定将特定的某个代码块暂存,你可能要在提交之前浏览暂存区中几个文件,因为你不太确定到底发生了什么样的更改。

git cli 也为此设计了交互式的模式,例如,交互式的添加和变基,但总的来说功能,并不能很好的满足要求,展示信息太少,呈现方式不丰富,操作精准度太差。

这个时候就要使用 ui ,当然很不推荐使用 gui ,比起敲击单个按键来说,用快捷键的效率实际上并不高。

况且,要根据不同的情况在 cli 和 gui 之间进行切换也是很麻烦的,用户界面在很多时候不是想用就可以用的。

最佳的方案是 cli 配合 tui ,它们可以完美互补,无缝衔接,效率要高很多。

tui 推荐 gitui ,这是用 rust 编写的工具,设计的目标就是「快」,以没有任何卡顿和加载大型项目速度飞快著称。

关键是即使在 Windows 上兼容性也非常好,不会出现动不动 tui 就完蛋的情况。

功能也十分简洁,作者的设计目标很明确,就是解决那些 cli 上难以完成的交互式操作,软件尺寸很小,功能很精悍,没有各种各样需求很低的花哨功能干扰使用。

本来自己是 SourceTree 的忠实用户,更换到 gitui 后相见恨晚,效率提升太大。

对了,还要注意的是,必须在你的命令行上添加 git 相关 prompt ,这是最基础的,这样你可以实时的看到现在的情况。

9234 次点击
所在节点    程序员
83 条回复
zxCoder
2021-12-08 14:12:03 +08:00
ide 都有自带工具
vanton
2021-12-08 14:20:13 +08:00
命令行记不住,git 本身的命令行模式太不友好。
endoffight
2021-12-08 14:28:44 +08:00
竟然没人推荐 tower
aasdkl
2021-12-08 14:57:29 +08:00
虽然用的 IDEA 但是习惯用的是 git gui...
Chad0000
2021-12-08 15:03:20 +08:00
珍爱生命,能用 GUI 就不用命令行。

我用 SourceTree ,不敲命令行。
BeautifulSoap
2021-12-08 15:16:14 +08:00
等等,用 GUI 那肯定是在学习了命令行了解了 git 一定基础上才用 GUI 的啊,难道真有人连 git 基本命令和用法都不学的情况下,直接上 GUI 的吗。git 的机制这么特殊,这样用 GUI 肯定迟早要出事的

还有 GUI 我个人不推荐 sourcetree 这软件,身边用的人都一个评价:卡成屎。个人 GUI 推荐 fork 。遇到需要处理文件冲突和查看文件历史之类的话,我会用 IDEA 自带的 GUI ,更加高效

GUI 和命令行虽然经常吵,但是说真的我见多了只用 git 命令行,结果到头来各种无脑 git add *; git commit -m "xxxx"一把梭的了。你这样用命令行还不如来用 GUI ,至少每次提交前还能强制你看到提交内容
Innovatino
2021-12-08 15:33:12 +08:00
简单命令用 GUI ,爱惜生命
复杂命令用命令行,清晰简洁
hello2090
2021-12-08 15:43:04 +08:00
没有和我一样 sublime merge 的吗
queuey
2021-12-08 15:57:49 +08:00
@endoffight tower 价格太感人了
webshe11
2021-12-08 16:02:42 +08:00
不用命令行是浅薄的,只用命令行是不明智的。
godwinma
2021-12-08 16:05:35 +08:00
想支持一波作者,但是 50 刀有点太贵了。
godwinma
2021-12-08 16:09:30 +08:00
@godwinma 说的是 fork
gzd1214
2021-12-08 16:20:41 +08:00
@endoffight 太贵了
Chad0000
2021-12-08 16:23:56 +08:00
@BeautifulSoap #46 我就是没有学 Git 的基本命令直接用 GUI 的,但学了 Git 的用法和原理以及与 SVN 的不同。
purocean
2021-12-08 16:24:36 +08:00
sublime merge 是我用过最好用的 Git UI 工具
starsky007
2021-12-08 17:05:46 +08:00
为什么有些人老是用着命令行,关键是用得不好,很有可能是因为现在网络上流传的教程上都只命令行、再加上没有官方的客户端导致的,所以我提个建议,你们在写教程的时候,一定要重点介绍下 GUI 客户端的使用。
nino
2021-12-08 17:08:10 +08:00
体验最好的竟然是 vscode 的一个插件 gitlens ,试试就知道
moxuanyuan
2021-12-08 17:13:29 +08:00
vscode showhand
gesse
2021-12-08 17:23:42 +08:00
@endoffight
tower 确实好用,但是 3.0 版本后是订阅制了, 以前买断了 2.0 版本,一直没有升级

而且 2.0 版本速度很快,3.0 版本界面好像很卡。
lingxi27
2021-12-08 17:26:42 +08:00
下一个贴是不是就开始打广告了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/820776

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX