看板 Soft_Job
好奇大家都怎麼用 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.cc), 來自: 210.242.7.90 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1722922992.A.E2E.html
moom50302: sourcetree, eclipse, intellij, notepad++ 08/06 14:00
NDark: git command無敵可以應付80% 08/06 14:19
請問為什麼不是應付 100%?可以舉一些例子嗎?
gmoz: source tree好用 08/06 14:23
gmoz: 文字檔編輯我用sublime 08/06 14:23
Chricey: 魚油的功效 08/06 20:52
qwer338859: sourcetree+cmd 08/06 14:31
neo5277: 海怪,vscode,bash,小烏龜都有用過 常用還是小烏龜跟bash 08/06 14:31
stepnight: git指令大家都一樣 08/06 14:33
Kroner: 葉黃素 08/06 21:51
stepnight: 為了教別人而使用GUI,反而落了下乘吧? 08/06 14:33
stepnight: 一套指令走天下Vs不同介面不同使用方式 08/06 14:33
stepnight: 不如叫人好好去把指令學好實在點? 08/06 14:33
Chricey: uc2是什麼 08/06 23:40 我覺得門檻愈來愈低是趨勢,能夠簡化的盡量簡化, 我們才能有更多空間處理更旁大、複雜的事情。
wanhuaJin: Delphi表示 08/06 14:59
labbat: 我寫入git command到程式碼中,然後做成batch script 08/06 15:22
labbat: 在檔案總管下執行跟gui有八成像 08/06 15:23
Kroner: gaba 08/07 00:09 請問可以分享嗎?
Bencrie: git 直接用命令。編輯器 vscode + clangd。shell 就 bash 08/06 15:24
Bencrie: 寫 shell script 的話就照 POSIX 標準走的 ash 系列 08/06 15:27
sssyoyo: sourcetree就很好用了阿 08/06 16:24
Chricey: uc2推薦 08/07 01:28
tommyptt: 小烏龜 08/06 16:25
minipopy0314: sourcetree專案大會很卡 現在都改用fork超順 08/06 16:26
ma721: sourcetree 08/06 16:30
Kroner: 苦瓜胜肽推薦ptt 08/07 02:34
will6w: Zed 08/06 16:39
c800910: git gui我用fork,好用,清除簡單。缺點是我都忘記怎麼 08/06 17:09
c800910: 下commant了。 08/06 17:09
Kroner: 葉黃素 08/07 03:22
c800910: 清楚* 08/06 17:10
第一次看到,感謝推薦!請問跟 Sourcetree、TortoiseGit 比較起來如何?
ozaki621205: IDE最近用cursor,還行,跟vs code有八成像 08/06 17:44
這個滿酷的! Cursor 之於文字編輯器就像 Warp 之於 terminal emulator。
sniper2824: 小烏龜 08/06 18:01
Chricey: 苦瓜胜肽 08/07 08:20
ck237: 小烏龜 08/06 18:03
NDark: 小烏龜 windows 08/06 18:16
dmaox3: 小烏龜 08/06 18:28
Kroner: epa功效 08/07 08:39
nayeonmywife: git cmd 不會用你敢放心讓他處理repo嗎 08/06 18:57
sating00: gitextension 08/06 19:06
godddddd: Idea 用過回不去啦 08/06 19:10
Chricey: 鋅的作用 08/07 09:04
EPGo: IDE 最近也改成 Cursor 08/06 19:13
LiebeLion: fork屌打全部 08/06 19:13
ruthertw: 自從用過sourcetree就回不去了 08/06 19:14
Kroner: 鋅的功效 08/07 10:43
WaterLengend: JB全家桶,沒煩惱 08/06 19:55
JetBrains 真的強
fallen01: gitextension 08/06 20:09
ManGo1012: 小烏龜 08/06 20:52
Chricey: 瑪卡什麼時候吃 08/06 20:52
luweber88: linux沒sourcetree改用vscode擴充沒大問題 08/06 21:07
請問是用什麼,GitLens 嗎?
ga009900: 小烏龜 08/06 21:51
SKNNN7: sourcetree 有時候很卡 08/06 21:51
Chricey: 透納葉功效 08/06 21:51
andyPKPK: fork 08/06 21:55
gn60311: Fork +1 08/06 22:01
netburst: 小烏龜forever 08/06 23:40
Chricey: gaba 08/06 23:40
netburst: 有在用AS的就知道內建的GIT UI也是屌打SORUCETREE 08/06 23:41
netburst: 更不用說小烏龜輾壓 08/06 23:41
kurtsgm: sourcetree + vscode 08/07 00:09
Kroner: uc2推薦 08/07 00:09
kurtsgm: sourcetree UI好用 但之前一直有燒cpu的bug 08/07 00:10
https://jira.atlassian.com/browse/SRCTREE-7272 真的有這個神奇的 bug
t36085520: tig + neovim + bash 08/07 00:13
請問有比較過 Lazygit、GitUI、Neogit、fugitive.vim 嗎?
neo5277: 小烏龜有圖,每一動還會秀指令給你,又不耗資源覺得不錯 08/07 01:28
Chricey: GABA 08/07 01:28
neo5277: 阿 08/07 01:28
Sourcetree 和小烏龜居然這麼多人用,原來這麼多人用 Windows!
superpandal: 你這個使用經歷就是什麼流行接觸什麼 大家吹捧什麼用 08/07 02:33
superpandal: 什麼 在所有使用者一把抓出來一票跟你一模一樣的 08/07 02:34
Chricey: 苦瓜胜肽的功效 08/07 02:34
superpandal: 當然不沉澱深入使用都可以 都是業界常態 08/07 02:36
閣下眼光竟如此毒辣,恐怖如斯!
applehpsh: git cmd就門檻最低了吧 08/07 02:40
依我的經驗,光 CLI 就是一道很高的檻捏
superpandal: 阿 還好還好 08/07 03:22
Chricey: 精胺酸什麼時候吃 08/07 03:22
knives: cli門檻很高?那種人水準也就那樣了,跟他們沒啥好討論的 08/07 05:52
knives: 價值 08/07 05:52
superpandal: cli使用門檻不高 真正了解類unix下cli機制和湊出複雜 08/07 08:20
Kroner: 魚油功效 08/07 08:20
superpandal: 功能的門檻非常高 不了解只能說只懂皮毛了 08/07 08:22
jobintan: VSCode從數年前剛開始學程式就用到現在… 08/07 08:37
jobintan: 一套VSCode雖然算不上IDE,不過該有的東西像是Git、CLI 08/07 08:39
Kroner: b群功效 08/07 08:39
jobintan: 、文字編輯,應有盡有。 08/07 08:39
henrylin8086: git我是本格派,下git的command。IDE大型VS CODE, 08/07 09:04
henrylin8086: 小型VIM。 08/07 09:04
Kroner: 維生素d3功效 08/07 09:04
MOONY135: VS在linux上不支援 不然我也不想make build 08/07 09:04
APTON: Fork 08/07 10:23
REDX: 有人用 neovim 寫 code 嗎? 08/07 10:43
Kroner: 魚油推薦 08/07 10:43
Neovim 很讚,他也支援 Copilot。 而且他不會有 tab 被 Copilot 吃掉的問題, 可以獨立自訂 AI 和語義補完的熱鍵。
wulouise: 我都用vscode寫c++大型專案啊,只缺class hierarchy tre 08/07 12:36
wulouise: e 08/07 12:36
f26724309: Fork + cli, 有些IDE的內建git會莫名的雷(如Xcode 08/07 13:05
guanting886: cli 操作門檻應該沒有你想像的高..現在ai時代都可以 08/07 14:55
guanting886: 產生出來告訴你怎麼做了 08/07 14:55
guanting886: warp terminal 也有將自家的ai模型整在裡面 08/07 14:57
guanting886: 要打很深的指令 我覺得跟cli無關 那個跟系統的熟悉 08/07 14:58
guanting886: 度比較有關係 且真的要處理很複雜的 應該寫script去 08/07 14:58
guanting886: 解決了 08/07 14:58
guanting886: 不過雖然在cli指令很方便 但為了整體的效率有gui當 08/07 15:00
guanting886: 然用好用滿,再搭araxis merge更好用 08/07 15:00
謝謝!第一次聽到這套,請問跟 BeyondCompare 比較起來如何?
Lordaeron: windows 用winmerger 不好用? 08/07 17:09
我對 WinMerge 的經驗是他不支援 4-window 3-way merge, 常需要解 conflict 的話很不方便。 https://stackoverflow.com/q/572237/1592410
superpandal: 怎麼會沒關... 熟悉系統能增加運作的了解 但該指令的 08/07 20:11
superpandal: feature就是功能 例如bash本身功能就蠻多 但不去了解 08/07 20:13
superpandal: 等同沒用 而不是該套件本來的用處僅限於此 08/07 20:14
superpandal: 尤其再搭配其它工具會有不同的火花 08/07 20:18
lantw44: git 主要用指令,看圖主要用 tig,也會用 gitg 和 gitk。 08/07 22:14
lantw44: git add 用 gitg,git diff 用 git-split-diffs 或 meld 08/07 22:16
lantw44: shell 用 bash,指令記錄開到無限大,方便找就指令回來用 08/07 22:18
lantw44: 我沒有用真正的 IDE,平時開發環境就是在 screen 開 bash 08/07 22:19
lantw44: 和 vim,搭配 vim-lsp、asyncomplete.vim、vim-gitgutter 08/07 22:22
lantw44: vim-airline、vim-fugitive 等外掛。 08/07 22:23
經典組合喲!
pig0038: sourcetree+cmd 08/07 22:33
wrn14897: neovim + fugitive 08/08 05:09
j1988922: git 只要會看圖,知道reflog,基本用什麼都不太會有問 08/08 06:11
j1988922: 題,指令派最常遇到是rebase -i不會用,gui 可能10年前 08/08 06:11
j1988922: 就有three way, 不少資深指令派最近才知道,浪費時間 08/08 06:11
其實上面那個 15 年前貼的問題裡, 就列了不少支援 3-way 4-window merge 的 GUI based 的工具。 我覺得會用一些 TUI、CLI 的工具並不代表偏愛 terminal-like based, 真正的指標應該是有沒有用 tiling window manager。
j1988922: wrap好處是一長串有打錯字照打完,最後用滑鼠點錯字改 08/08 06:29
Lordaeron: 人就是這樣2009年沒的,2019也沒,現在都2024了 08/08 06:33
Lordaeron: winmerge都不知過了幾版了,有人還停在沒folder comp 08/08 06:34
WinMerge 應該現在也還不支援 4-window 3-way merge, 最新版的 Git launch 他的參數裡還是只帶三個視窗: https://github.com/git/git/blob/master/mergetools/winmerge
Lordaeron: 有人還停在只有2way. 而3 way 為何要4 window 我不解 08/08 06:35
local、base、remote、merged,好像缺一不可?
labbat: base 很好用,有的程式碼兩邊同時patch過不曉得 08/08 12:09
logichom: fork比sourcetree順,不過授權關係乖乖用後者 08/08 12:43
Lordaeron: 哦,原來是一份程式三套copy完全不同寫法?不然 08/08 13:34
Lordaeron: 不是三個就夠了?merge 到你選定的哪個。 08/08 13:35
zeki621: vscode extension的 git graph 08/08 17:05
ikachann: SourceTree+1 不過有時候習慣直接用IDEA裡面的git功能 08/08 19:21
superpandal: 有用過平鋪視窗管理器就知道不是所有程式都適合平鋪 08/08 19:40
superpandal: 顯示 個人覺得最好是含有一點點平鋪功能的堆疊視窗管 08/08 19:42
superpandal: 理器 都是快捷鍵導向 平鋪視窗管理很久前就有人在吹 08/08 19:43
superpandal: 捧了 08/08 19:43
superpandal: 真正需要平鋪的狀況也不多 08/08 19:44
superpandal: 4 window個人是覺得太多 又不喜歡大螢幕 顯示很麻煩 08/08 19:45
superpandal: rebase還好吧 我都是工作才學用git 真的指令派學學沒 08/08 19:49
superpandal: 有難度 08/08 19:50
VScode: 用sourcetree看圖 跟基本操作 要複雜操作會用bash 08/09 00:00
t36085520: 我研究完lazygit 跟 gitui 覺得tig是最平衡的。 08/09 09:01
t36085520: 複雜的我還是打指令。 08/09 09:01
感謝分享! ※ 編輯: changyuheng (210.242.7.90 臺灣), 08/09/2024 10:29:28
iamOsaka: fork超頂 我現在都不會下指令了+1 08/09 11:29
wulouise: cli最麻煩的就是git add..我覺得任何ui讓你打勾就夠放便 08/09 12:44
friends29: GUI: sublime merge CLI: git bash/linux bash/zsh W 08/09 14:48
friends29: indows唯一讓我覺得有進步的就是terminal有分頁且可以 08/09 14:48
friends29: 客製化啟動git bash 絕大多數都是用CLI 只有要撿hunk 08/09 14:48
friends29: 跟conflict會用GUI 08/09 14:48
gungunham: neovim 配置推 astronvim 可直接使用社群整理的插件 08/09 23:20
papple23g: vscode extension git graph 08/10 04:35
chrisho: sourcetree 跨平台 ,用ide的每套都要記很麻煩,統一用 08/10 09:17
chrisho: 一種就好 08/10 09:17
Soros1989: 推 fork 08/10 09:37
sarsman: fork讚讚,授權是買斷制的,而且能裝三台,值得支持 08/10 11:19
sarsman: 現在都只有做會比較花時間的指令時才會下指令 08/10 11:20
wulouise: win10就能裝windows terminal了 08/10 12:05
superpandal: cli要方便選取就是要寫腳本 首先git status -s可以讓 08/10 18:07
superpandal: 你取得檔案狀態 使用fzf -m --preview=diff預覽指令 08/10 18:09
superpandal: 可以讓你多選以及查看更改地方 把以上配合git add串 08/10 18:10
superpandal: 起來即可 替換git add可以很方便做這種事 這都是很基 08/10 18:11
superpandal: 本的操作 不懂如同門外漢 08/10 18:11
linbanana: 小烏龜 08/10 21:33
Kimheeche: 指令有那麼難記? 08/11 09:14
goldie: bash, git CLI, tmux + nvim (+一些常見 plugins) 08/11 10:08
goldie: 官方 Pro Git 前三章念一念,不懂的再查 man page, 08/11 10:10
goldie: 這樣 git CLI 夠用了 08/11 10:10
wfgh: 十年前用sourcetree 後來就轉用fork了 08/11 13:51
wfgh: 不過也只會用來看圖而已 也會用tig 操作都還是cmd 08/11 13:53
googoo1102: neovim. 試過用vscode remote ssh搜索還是覺得慢 08/11 22:07
DCC1609: git GUI我用fork 08/16 00:51
DCC1609: 如果正在用vs code工作 08/16 00:51
DCC1609: 會用vs code的git graph+內建的got功能 08/16 00:51
DCC1609: 省得需要切換應用程式 08/16 00:51