PTT推薦

[請益] 請問流行的 Git、CLI 環境和文字編輯器

看板Soft_Job標題[請益] 請問流行的 Git、CLI 環境和文字編輯器作者
changyuheng
(Yohan)
時間推噓50 推:51 噓:1 →:70

好奇大家都怎麼用 Git,以及主力使用什麼 IDE 開發。

雖然 IDE 會內建,也有第三方的 Git app 像是 GitKraken,
但我到現在還是在用 git 命令列的指令。
有時候會覺得有點冰冷,要記的命令很多,少用的功能還是要去查,
但是用習慣了,沒什麼問題就一直用。

門檻比較高不容易教別人我覺得是最大的缺點。
我看 Lazygit 非常紅,不過我是沒用過。

請問大家有沒有推薦其他的 Git app?


平常上班 VS Code、JetBrains、Neovim 都有在用。

早期推 CLI based 編輯器是因為 SSH 到 remote 機器後只有 CLI 能用,
但其實大不了就 mount 到 local 就好了,
而且現在 VS Code、JetBrains 等等也支援 remote 使用,
遠端桌面也更加成熟,所以這個賣點應該不存在了。

本來普遍嫌棄 Vim 是因為他預設功能簡陋,套件裝多了又慢,
而且少了正統 IDE 的語義解析,定位永遠是純文字編輯器。
但隨著 Vim 8.0 的背景執行和 Neovim 又追加了 lua 的支援,
以及對 LSP 的支援,這個界限也被打破了。

以前 VS Code 不能當主力,因為有些功能還是要 Vim,
例如 Git 的 3-way merge,但是後來 VS Code 也出了這個功能。
https://stackoverflow.com/a/72874300/1592410

Fleet 剛出時有試了一下,不過太陽春了。
而且不知道為什麼他一定要常駐 =.=

我主觀上還是覺得 Neovim 最順手最 solid,
遇過 VS Code 開大檔時 Vim 套件當掉,
不過 IDE 什麼都設好好也是滿方便的,就變成是要寫什麼就用什麼環境。

但調 Neovim 滿花時間的,要學 lua,時不時還要維護,也是很累。
最近看到一個滿喜歡的 freelancer 的 dotfiles 用 LazyVim,
https://www.craftz.dog/
就想說也來試試 lazy.nvim 作者大神做的包,結果是滿炫砲的但好像太肥了。
變成還要花時間調,那還不如自己來。

大家有沒有推薦什麼炫砲的 Neovim 設定,或是有什麼酷炫的編輯器可以分享?


最後想問一下大家用什麼 CLI shell。

我看 Nushell 評價不錯,
跟 PowerShell 一樣都是 stream 物件化的概念,
但是似乎很少人在討論,不知道用的人多不多?

Fish 本來就很好用了,最近還全部用 Rust 重寫,感覺開發團隊真的很有心。
Fish 套件的生態也比較單純,從頭到尾一套 fisher 就屹立不搖,
不像 Zsh 琳瑯滿目,但沒有人能一統江湖。

但是有些環境例如 Yocto 沒有直接支援,所以也沒辦法換過去。
還有就是主流還是 Bash / Zsh,自己用 Fish 的話,
在文件上寫 Fish 的語法別人用不了等於沒寫,
寫 Bash 語法自己不能用,最後變成要寫二種,
所以我用了一段時間 Fish 後又忍痛換回 Zsh。
不知道現在有沒有什麼好解法?

有人推 replay.fish (Fish-bax),
不過這種重新寫語義解析的方式感覺不是很可靠。
https://stackoverflow.com/a/63163817/1592410


Zsh 的套件管理器以前 zplug 剛出的時候,可以多緒並行安裝套件很潮,
結果後來發現他安裝很快是沒錯,但是套件載入很慢……

zinit 主打 performance,但我印象他設定小複雜,
所以後來索性用快速小巧簡單的 zi,雖然小眾但是至今沒遇過問題,
搭配 Powerlevel10k 速度飛快。

也因為 Powerlevel10k 設定簡單、功能齊全、效能好,
所以一直沒有去嘗試 Starship。
目前覺得 Powerlevel10k 唯一的缺點是在 MSYS2 的環境啟動很慢。


最後最後想再問一下,既 Go 之後,
這幾年流行用 rust 把一些常見的 GNU utility、package 重寫,
在設計階段融入多執行緒的情況下,效能真的都比較好。

不過不知道有沒有整理好的清單?
目前只有在這邊有看到:
https://github.com/qarmin/Rusty-Linux/blob/main/RustyLinux.sh

也有看到 https://uutils.github.io/ 不過他比較小眾,
而且 issue 一堆,不知道有沒有人真的拿他當主力?

--
可以頂天立地,也可以狡詐陰險,
可以當個誠實小郎君,也可以嘴裡沒有半句實話;
但是一定不能飄,飄起來的人就是自己騙自己。

       柳岸花又明《我真沒想重生啊》

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.242.7.90 (臺灣)
PTT 網址

moom5030208/06 14:00sourcetree, eclipse, intellij, notepad++

NDark08/06 14:19git command無敵可以應付80%

請問為什麼不是應付 100%?可以舉一些例子嗎?

gmoz08/06 14:23source tree好用

gmoz08/06 14:23文字檔編輯我用sublime

qwer33885908/06 14:31sourcetree+cmd

neo527708/06 14:31海怪,vscode,bash,小烏龜都有用過 常用還是小烏龜跟bash

stepnight08/06 14:33git指令大家都一樣

stepnight08/06 14:33為了教別人而使用GUI,反而落了下乘吧?

stepnight08/06 14:33一套指令走天下Vs不同介面不同使用方式

stepnight08/06 14:33不如叫人好好去把指令學好實在點?

我覺得門檻愈來愈低是趨勢,能夠簡化的盡量簡化, 我們才能有更多空間處理更旁大、複雜的事情。

wanhuaJin08/06 14:59Delphi表示

labbat08/06 15:22我寫入git command到程式碼中,然後做成batch script

labbat08/06 15:23在檔案總管下執行跟gui有八成像

請問可以分享嗎?

Bencrie08/06 15:24git 直接用命令。編輯器 vscode + clangd。shell 就 bash

Bencrie08/06 15:27寫 shell script 的話就照 POSIX 標準走的 ash 系列

sssyoyo08/06 16:24sourcetree就很好用了阿

tommyptt08/06 16:25小烏龜

minipopy031408/06 16:26sourcetree專案大會很卡 現在都改用fork超順

ma72108/06 16:30sourcetree

will6w08/06 16:39Zed

c80091008/06 17:09git gui我用fork,好用,清除簡單。缺點是我都忘記怎麼

c80091008/06 17:09下commant了。

c80091008/06 17:10 清楚*

第一次看到,感謝推薦!請問跟 Sourcetree、TortoiseGit 比較起來如何?

ozaki62120508/06 17:44IDE最近用cursor,還行,跟vs code有八成像

這個滿酷的! Cursor 之於文字編輯器就像 Warp 之於 terminal emulator。

sniper282408/06 18:01小烏龜

ck23708/06 18:03小烏龜

NDark08/06 18:16小烏龜 windows

dmaox308/06 18:28小烏龜

nayeonmywife08/06 18:57git cmd 不會用你敢放心讓他處理repo嗎

sating0008/06 19:06gitextension

godddddd08/06 19:10Idea 用過回不去啦

EPGo08/06 19:13IDE 最近也改成 Cursor

LiebeLion08/06 19:13fork屌打全部

ruthertw08/06 19:14自從用過sourcetree就回不去了

WaterLengend08/06 19:55JB全家桶,沒煩惱

JetBrains 真的強

fallen0108/06 20:09gitextension

ManGo101208/06 20:52小烏龜

luweber8808/06 21:07linux沒sourcetree改用vscode擴充沒大問題

請問是用什麼,GitLens 嗎?

ga00990008/06 21:51小烏龜

SKNNN708/06 21:51sourcetree 有時候很卡

andyPKPK08/06 21:55fork

gn6031108/06 22:01Fork +1

netburst08/06 23:40小烏龜forever

netburst08/06 23:41有在用AS的就知道內建的GIT UI也是屌打SORUCETREE

netburst08/06 23:41更不用說小烏龜輾壓

kurtsgm08/07 00:09sourcetree + vscode

kurtsgm08/07 00:10sourcetree UI好用 但之前一直有燒cpu的bug

https://jira.atlassian.com/browse/SRCTREE-7272

真的有這個神奇的 bug

t3608552008/07 00:13tig + neovim + bash

請問有比較過 Lazygit、GitUI、Neogit、fugitive.vim 嗎?

neo527708/07 01:28小烏龜有圖,每一動還會秀指令給你,又不耗資源覺得不錯

neo527708/07 01:28

Sourcetree 和小烏龜居然這麼多人用,原來這麼多人用 Windows!

superpandal08/07 02:33你這個使用經歷就是什麼流行接觸什麼 大家吹捧什麼用

superpandal08/07 02:34什麼 在所有使用者一把抓出來一票跟你一模一樣的

superpandal08/07 02:36當然不沉澱深入使用都可以 都是業界常態

閣下眼光竟如此毒辣,恐怖如斯!

applehpsh08/07 02:40git cmd就門檻最低了吧

依我的經驗,光 CLI 就是一道很高的檻捏

superpandal08/07 03:22阿 還好還好

knives08/07 05:52cli門檻很高?那種人水準也就那樣了,跟他們沒啥好討論的

knives08/07 05:52價值

superpandal08/07 08:20cli使用門檻不高 真正了解類unix下cli機制和湊出複雜

superpandal08/07 08:22功能的門檻非常高 不了解只能說只懂皮毛了

jobintan08/07 08:37VSCode從數年前剛開始學程式就用到現在…

jobintan08/07 08:39一套VSCode雖然算不上IDE,不過該有的東西像是Git、CLI

jobintan08/07 08:39、文字編輯,應有盡有。

henrylin808608/07 09:04git我是本格派,下git的command。IDE大型VS CODE,

henrylin808608/07 09:04小型VIM。

MOONY13508/07 09:04VS在linux上不支援 不然我也不想make build

APTON08/07 10:23Fork

REDX08/07 10:43有人用 neovim 寫 code 嗎?

Neovim 很讚,他也支援 Copilot。 而且他不會有 tab 被 Copilot 吃掉的問題, 可以獨立自訂 AI 和語義補完的熱鍵。

wulouise08/07 12:36我都用vscode寫c++大型專案啊,只缺class hierarchy tre

wulouise08/07 12:36e

f2672430908/07 13:05Fork + cli, 有些IDE的內建git會莫名的雷(如Xcode

guanting88608/07 14:55cli 操作門檻應該沒有你想像的高..現在ai時代都可以

guanting88608/07 14:55產生出來告訴你怎麼做了

guanting88608/07 14:57warp terminal 也有將自家的ai模型整在裡面

guanting88608/07 14:58要打很深的指令 我覺得跟cli無關 那個跟系統的熟悉

guanting88608/07 14:58度比較有關係 且真的要處理很複雜的 應該寫script去

guanting88608/07 14:58解決了

guanting88608/07 15:00不過雖然在cli指令很方便 但為了整體的效率有gui當

guanting88608/07 15:00然用好用滿,再搭araxis merge更好用

謝謝!第一次聽到這套,請問跟 BeyondCompare 比較起來如何?

Lordaeron08/07 17:09windows 用winmerger 不好用?

我對 WinMerge 的經驗是他不支援 4-window 3-way merge, 常需要解 conflict 的話很不方便。

https://stackoverflow.com/q/572237/1592410

superpandal08/07 20:11怎麼會沒關... 熟悉系統能增加運作的了解 但該指令的

superpandal08/07 20:13feature就是功能 例如bash本身功能就蠻多 但不去了解

superpandal08/07 20:14等同沒用 而不是該套件本來的用處僅限於此

superpandal08/07 20:18尤其再搭配其它工具會有不同的火花

lantw4408/07 22:14git 主要用指令,看圖主要用 tig,也會用 gitg 和 gitk。

lantw4408/07 22:16git add 用 gitg,git diff 用 git-split-diffs 或 meld

lantw4408/07 22:18shell 用 bash,指令記錄開到無限大,方便找就指令回來用

lantw4408/07 22:19我沒有用真正的 IDE,平時開發環境就是在 screen 開 bash

lantw4408/07 22:22和 vim,搭配 vim-lsp、asyncomplete.vim、vim-gitgutter

lantw4408/07 22:23vim-airline、vim-fugitive 等外掛。

經典組合喲!

pig003808/07 22:33sourcetree+cmd

wrn1489708/08 05:09neovim + fugitive

j198892208/08 06:11git 只要會看圖,知道reflog,基本用什麼都不太會有問

j198892208/08 06:11題,指令派最常遇到是rebase -i不會用,gui 可能10年前

j198892208/08 06:11就有three way, 不少資深指令派最近才知道,浪費時間

其實上面那個 15 年前貼的問題裡, 就列了不少支援 3-way 4-window merge 的 GUI based 的工具。 我覺得會用一些 TUI、CLI 的工具並不代表偏愛 terminal-like based, 真正的指標應該是有沒有用 tiling window manager。

j198892208/08 06:29wrap好處是一長串有打錯字照打完,最後用滑鼠點錯字改

Lordaeron08/08 06:33人就是這樣2009年沒的,2019也沒,現在都2024了

Lordaeron08/08 06:34winmerge都不知過了幾版了,有人還停在沒folder comp

WinMerge 應該現在也還不支援 4-window 3-way merge, 最新版的 Git launch 他的參數裡還是只帶三個視窗:

https://github.com/git/git/blob/master/mergetools/winmerge

Lordaeron08/08 06:35有人還停在只有2way. 而3 way 為何要4 window 我不解

local、base、remote、merged,好像缺一不可?

labbat08/08 12:09base 很好用,有的程式碼兩邊同時patch過不曉得

logichom08/08 12:43fork比sourcetree順,不過授權關係乖乖用後者

Lordaeron08/08 13:34哦,原來是一份程式三套copy完全不同寫法?不然

Lordaeron08/08 13:35不是三個就夠了?merge 到你選定的哪個。

zeki62108/08 17:05vscode extension的 git graph

ikachann08/08 19:21SourceTree+1 不過有時候習慣直接用IDEA裡面的git功能

superpandal08/08 19:40有用過平鋪視窗管理器就知道不是所有程式都適合平鋪

superpandal08/08 19:42顯示 個人覺得最好是含有一點點平鋪功能的堆疊視窗管

superpandal08/08 19:43理器 都是快捷鍵導向 平鋪視窗管理很久前就有人在吹

superpandal08/08 19:43捧了

superpandal08/08 19:44真正需要平鋪的狀況也不多

superpandal08/08 19:454 window個人是覺得太多 又不喜歡大螢幕 顯示很麻煩

superpandal08/08 19:49rebase還好吧 我都是工作才學用git 真的指令派學學沒

superpandal08/08 19:50有難度

VScode08/09 00:00用sourcetree看圖 跟基本操作 要複雜操作會用bash

t3608552008/09 09:01我研究完lazygit 跟 gitui 覺得tig是最平衡的。

t3608552008/09 09:01複雜的我還是打指令。

感謝分享!

※ 編輯: changyuheng (210.242.7.90 臺灣), 08/09/2024 10:29:28

iamOsaka08/09 11:29fork超頂 我現在都不會下指令了+1

wulouise08/09 12:44cli最麻煩的就是git add..我覺得任何ui讓你打勾就夠放便

friends2908/09 14:48GUI: sublime merge CLI: git bash/linux bash/zsh W

friends2908/09 14:48indows唯一讓我覺得有進步的就是terminal有分頁且可以

friends2908/09 14:48客製化啟動git bash 絕大多數都是用CLI 只有要撿hunk

friends2908/09 14:48跟conflict會用GUI

gungunham08/09 23:20neovim 配置推 astronvim 可直接使用社群整理的插件