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

作者: changyuheng (張昱珩)   2024-08-06 13:43:00
好奇大家都怎麼用 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 一堆,不知道有沒有人真的拿他當主力?
作者: moom50302 (武林三羚鱷)   2024-08-06 14:00:00
sourcetree, eclipse, intellij, notepad++
作者: NDark (溺於黑暗)   2024-08-06 14:19:00
git command無敵可以應付80%
作者: gmoz ( This can't do that. )   2024-08-06 14:23:00
source tree好用文字檔編輯我用sublime
作者: qwer338859 (溫莎公爵)   2024-08-06 14:31:00
sourcetree+cmd
作者: neo5277 (I am an agent of chaos)   2024-08-06 14:31:00
海怪,vscode,bash,小烏龜都有用過 常用還是小烏龜跟bash
作者: stepnight (桃卡武康)   2024-08-06 14:33:00
git指令大家都一樣為了教別人而使用GUI,反而落了下乘吧?一套指令走天下Vs不同介面不同使用方式不如叫人好好去把指令學好實在點?
作者: wanhuaJin (這不是來了嗎?)   2024-08-06 14:59:00
Delphi表示
作者: labbat (labbat)   2024-08-06 15:22:00
我寫入git command到程式碼中,然後做成batch script在檔案總管下執行跟gui有八成像
作者: Bencrie   2024-08-06 15:24:00
git 直接用命令。編輯器 vscode + clangd。shell 就 bash寫 shell script 的話就照 POSIX 標準走的 ash 系列
作者: sssyoyo (柚子)   2024-08-06 16:24:00
sourcetree就很好用了阿
作者: tommyptt (Alga)   2024-08-06 16:25:00
小烏龜
作者: minipopy0314 (Galaxy)   2024-08-06 16:26:00
sourcetree專案大會很卡 現在都改用fork超順
作者: ma721 (UndeadJ)   2024-08-06 16:30:00
sourcetree
作者: will6w (我是Will)   2024-08-06 16:39:00
Zed
作者: c800910 (c800910)   2024-08-06 17:09:00
git gui我用fork,好用,清除簡單。缺點是我都忘記怎麼下commant了。清楚*
作者: ozaki621205 (HongJiShen)   2024-08-06 17:44:00
IDE最近用cursor,還行,跟vs code有八成像
作者: sniper2824 (月夜)   2024-08-06 18:01:00
小烏龜
作者: ck237 (白色小雞)   2024-08-06 18:03:00
小烏龜
作者: NDark (溺於黑暗)   2024-08-06 18:16:00
小烏龜 windows
作者: dmaox3 (毛c)   2024-08-06 18:28:00
小烏龜
作者: nayeonmywife (sanamywife)   2024-08-06 18:57:00
git cmd 不會用你敢放心讓他處理repo嗎
作者: sating00 (sating00)   2024-08-06 19:06:00
gitextension
作者: godddddd (howudoing)   2024-08-06 19:10:00
Idea 用過回不去啦
作者: EPGo   2024-08-06 19:13:00
IDE 最近也改成 Cursor
作者: LiebeLion (IchLiebeDich)   2024-08-06 19:13:00
fork屌打全部
作者: ruthertw (小葉老大)   2024-08-06 19:14:00
自從用過sourcetree就回不去了
作者: WaterLengend (Leeeeeeeeooooooo)   2024-08-06 19:55:00
JB全家桶,沒煩惱
作者: fallen01 (優質不OP)   2024-08-06 20:09:00
gitextension
作者: ManGo1012 (ManGo)   2024-08-06 20:52:00
小烏龜
作者: luweber88 (貓咪)   2024-08-06 21:07:00
linux沒sourcetree改用vscode擴充沒大問題
作者: ga009900 (Lienfa)   2024-08-06 21:51:00
小烏龜
作者: SKNNN7   2024-08-06 21:51:00
sourcetree 有時候很卡
作者: andyPKPK   2024-08-06 21:55:00
fork
作者: gn60311 (Peterman)   2024-08-06 22:01:00
Fork +1
作者: netburst (133 134 592)   2024-08-06 23:40:00
小烏龜forever有在用AS的就知道內建的GIT UI也是屌打SORUCETREE更不用說小烏龜輾壓
作者: kurtsgm   2024-08-07 00:09:00
sourcetree + vscodesourcetree UI好用 但之前一直有燒cpu的bug
作者: t36085520 (金魚壽喜燒)   2024-08-07 00:13:00
tig + neovim + bash
作者: neo5277 (I am an agent of chaos)   2024-08-07 01:28:00
小烏龜有圖,每一動還會秀指令給你,又不耗資源覺得不錯阿
作者: superpandal   2024-08-07 02:33:00
你這個使用經歷就是什麼流行接觸什麼 大家吹捧什麼用什麼 在所有使用者一把抓出來一票跟你一模一樣的當然不沉澱深入使用都可以 都是業界常態
作者: applehpsh   2024-08-07 02:40:00
git cmd就門檻最低了吧
作者: superpandal   2024-08-07 03:22:00
阿 還好還好
作者: knives   2024-08-07 05:52:00
cli門檻很高?那種人水準也就那樣了,跟他們沒啥好討論的價值
作者: superpandal   2024-08-07 08:20:00
cli使用門檻不高 真正了解類unix下cli機制和湊出複雜功能的門檻非常高 不了解只能說只懂皮毛了
作者: jobintan (Robin Artemstein)   2024-08-07 08:37:00
VSCode從數年前剛開始學程式就用到現在…一套VSCode雖然算不上IDE,不過該有的東西像是Git、CLI、文字編輯,應有盡有。
作者: henrylin8086 (小木)   2024-08-07 09:04:00
git我是本格派,下git的command。IDE大型VS CODE,小型VIM。
作者: MOONY135 (談無慾)   2024-08-07 09:04:00
VS在linux上不支援 不然我也不想make build
作者: APTON (瑋瑋)   2024-08-07 10:23:00
Fork
作者: REDX (^^)   2024-08-07 10:43:00
有人用 neovim 寫 code 嗎?
作者: wulouise (在線上!=在電腦前)   2024-08-07 12:36:00
我都用vscode寫c++大型專案啊,只缺class hierarchy tree
作者: f26724309 (番薯)   2024-08-07 13:05:00
Fork + cli, 有些IDE的內建git會莫名的雷(如Xcode
作者: guanting886 (Guanting)   2024-08-07 14:55:00
cli 操作門檻應該沒有你想像的高..現在ai時代都可以產生出來告訴你怎麼做了warp terminal 也有將自家的ai模型整在裡面要打很深的指令 我覺得跟cli無關 那個跟系統的熟悉度比較有關係 且真的要處理很複雜的 應該寫script去解決了不過雖然在cli指令很方便 但為了整體的效率有gui當然用好用滿,再搭araxis merge更好用
作者: Lordaeron (Terry)   2024-08-07 17:09:00
windows 用winmerger 不好用?
作者: superpandal   2024-08-07 20:11:00
怎麼會沒關... 熟悉系統能增加運作的了解 但該指令的feature就是功能 例如bash本身功能就蠻多 但不去了解等同沒用 而不是該套件本來的用處僅限於此尤其再搭配其它工具會有不同的火花
作者: lantw44 (#######################)   2024-08-07 22:14:00
git 主要用指令,看圖主要用 tig,也會用 gitg 和 gitk。git add 用 gitg,git diff 用 git-split-diffs 或 meldshell 用 bash,指令記錄開到無限大,方便找就指令回來用我沒有用真正的 IDE,平時開發環境就是在 screen 開 bash和 vim,搭配 vim-lsp、asyncomplete.vim、vim-gitguttervim-airline、vim-fugitive 等外掛。
作者: pig0038 (顆顆)   2024-08-07 22:33:00
sourcetree+cmd
作者: wrn14897 (姆姆)   2024-08-08 05:09:00
neovim + fugitive
作者: j1988922 (jason)   2024-08-08 06:11:00
git 只要會看圖,知道reflog,基本用什麼都不太會有問題,指令派最常遇到是rebase -i不會用,gui 可能10年前就有three way, 不少資深指令派最近才知道,浪費時間wrap好處是一長串有打錯字照打完,最後用滑鼠點錯字改
作者: Lordaeron (Terry)   2024-08-08 06:33:00
人就是這樣2009年沒的,2019也沒,現在都2024了winmerge都不知過了幾版了,有人還停在沒folder comp有人還停在只有2way. 而3 way 為何要4 window 我不解
作者: labbat (labbat)   2024-08-08 12:09:00
base 很好用,有的程式碼兩邊同時patch過不曉得
作者: logichom (螺絲起子)   2024-08-08 12:43:00
fork比sourcetree順,不過授權關係乖乖用後者
作者: Lordaeron (Terry)   2024-08-08 13:34:00
哦,原來是一份程式三套copy完全不同寫法?不然不是三個就夠了?merge 到你選定的哪個。
作者: zeki621 (小日本)   2024-08-08 17:05:00
vscode extension的 git graph
作者: ikachann (喵喵)   2024-08-08 19:21:00
SourceTree+1 不過有時候習慣直接用IDEA裡面的git功能
作者: superpandal   2024-08-08 19:40:00
有用過平鋪視窗管理器就知道不是所有程式都適合平鋪顯示 個人覺得最好是含有一點點平鋪功能的堆疊視窗管理器 都是快捷鍵導向 平鋪視窗管理很久前就有人在吹捧了真正需要平鋪的狀況也不多4 window個人是覺得太多 又不喜歡大螢幕 顯示很麻煩rebase還好吧 我都是工作才學用git 真的指令派學學沒有難度
作者: VScode (VSisBestIDEinTheWorld)   2024-08-09 00:00:00
用sourcetree看圖 跟基本操作 要複雜操作會用bash
作者: t36085520 (金魚壽喜燒)   2024-08-09 09:01:00
我研究完lazygit 跟 gitui 覺得tig是最平衡的。複雜的我還是打指令。
作者: iamOsaka (歐沙卡)   2024-08-09 11:29:00
fork超頂 我現在都不會下指令了+1
作者: wulouise (在線上!=在電腦前)   2024-08-09 12:44:00
cli最麻煩的就是git add..我覺得任何ui讓你打勾就夠放便
作者: friends29 (涼哥哥)   2024-08-09 14:48:00
GUI: sublime merge CLI: git bash/linux bash/zsh Windows唯一讓我覺得有進步的就是terminal有分頁且可以客製化啟動git bash 絕大多數都是用CLI 只有要撿hunk跟conflict會用GUI
作者: gungunham   2024-08-09 23:20:00
neovim 配置推 astronvim 可直接使用社群整理的插件
作者: papple23g (逆道者)   2024-08-10 04:35:00
vscode extension git graph
作者: chrisho (sudoku)   2024-08-10 09:17:00
sourcetree 跨平台 ,用ide的每套都要記很麻煩,統一用一種就好
作者: Soros1989 (Soros)   2024-08-10 09:37:00
推 fork
作者: sarsman (DeNT15T♠)   2024-08-10 11:19:00
fork讚讚,授權是買斷制的,而且能裝三台,值得支持現在都只有做會比較花時間的指令時才會下指令
作者: wulouise (在線上!=在電腦前)   2024-08-10 12:05:00
win10就能裝windows terminal了
作者: superpandal   2024-08-10 18:07:00
cli要方便選取就是要寫腳本 首先git status -s可以讓你取得檔案狀態 使用fzf -m --preview=diff預覽指令可以讓你多選以及查看更改地方 把以上配合git add串起來即可 替換git add可以很方便做這種事 這都是很基本的操作 不懂如同門外漢
作者: linbanana (巴那那)   2024-08-10 21:33:00
小烏龜
作者: Kimheeche (Kimheeche)   2024-08-11 09:14:00
指令有那麼難記?
作者: goldie (阿良)   2024-08-11 10:08:00
bash, git CLI, tmux + nvim (+一些常見 plugins)官方 Pro Git 前三章念一念,不懂的再查 man page,這樣 git CLI 夠用了
作者: wfgh (lyle)   2024-08-11 13:51:00
十年前用sourcetree 後來就轉用fork了不過也只會用來看圖而已 也會用tig 操作都還是cmd
作者: googoo1102 (googoo)   2024-08-11 22:07:00
neovim. 試過用vscode remote ssh搜索還是覺得慢
作者: DCC1609 (頂扣扣)   2024-08-16 00:51:00
git GUI我用fork如果正在用vs code工作會用vs code的git graph+內建的got功能省得需要切換應用程式

Links booklink

Contact Us: admin [ a t ] ucptt.com