V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Duolingo
V2EX  ›  程序员

逃离了 sourcetree,开始使用开发工具自带的 git gui

  •  
  •   Duolingo · 2025 年 6 月 20 日 · 6590 次点击
    这是一个创建于 217 天前的主题,其中的信息可能已经有所发展或是发生改变。

    sourcetree 用了五六年了,一直有一个偶发问题,会莫名其妙的错误删除项目( windows 版本,mac 版本不确定)。

    官网也有类似反馈: https://community.atlassian.com/forums/Sourcetree-questions/Souretree-delete-my-all-project-contents-in-local/qaq-p/604268

    升级了无数次,这个问题似乎一直没能解决。

    大概率复现方式:

    1. 启动 sourcetree ,双击进入管理的项目,多进几个
    2. 开启新标签页,进入的项目关了也行,不关也行,不影响复现
    3. 右键某个项目,删除,确认(提示框很可能只有一个项目,就算有多个,也是不准确的)

    然后就发现之前进入过的项目(一个或多个甚至全部),被无声无息的删除了

    在经历了昨天一天的工作被删除以后,花了一上午重新配置了 git 和 ssh ,直接使用 jetbrains 和 vscode 自带的版本管理工具了。(顺便夸一句,感谢 idea 的 local history 功能救我狗命)

    42 条回复    2025-06-23 15:00:07 +08:00
    dumbass
        1
    dumbass  
       2025 年 6 月 20 日   ❤️ 1
    感觉 git 的命令行用的还是更多的
    ererrrr
        2
    ererrrr  
       2025 年 6 月 20 日   ❤️ 1
    假如是他删除的,平时关掉 souretree 不可以么?
    只在提交的时候用?
    AmoreLee
        3
    AmoreLee  
       2025 年 6 月 20 日 via iPhone   ❤️ 2
    试试 https://magit.vc/ ,最好的 Git UI
    peasant
        4
    peasant  
       2025 年 6 月 20 日   ❤️ 5
    “逃离”隐含对威胁、压迫或危险的抗拒,换个软件而已,有必要用逃离吗?

    jetbrains 家开发工具的 git 功能我觉得就特别好用。
    FlashEcho
        5
    FlashEcho  
       2025 年 6 月 20 日   ❤️ 1
    @peasant #4 +1 ,我在 vscode 里写完功能都要打开 idea 就为了用它的 git ,感觉还没有 vscode 拓展能比得上的
    Niunai
        6
    Niunai  
       2025 年 6 月 20 日   ❤️ 1
    我在 windows 下一直用 tortoise git ,你可以尝试一下。tortoise git 的分支图特别好用。diff 工具可以集成 beyond compare 。香得一坨。
    不过 rebase 、reset 等操作,我还是在终端下操作。
    DL9412
        7
    DL9412  
       2025 年 6 月 20 日   ❤️ 4
    我用的 https://fork.dev/ ,感觉比 source tree 好用
    orzsirius
        8
    orzsirius  
       2025 年 6 月 20 日   ❤️ 2
    直接付费用 Fork ,https://git-fork.com/ ,界面跟 sourcetree 一模一样,但是不卡,体验很棒
    hukei
        9
    hukei  
       2025 年 6 月 20 日   ❤️ 1
    sourcetree 已经扔了 2 年了 用 vscode 的
    Duolingo
        10
    Duolingo  
    OP
       2025 年 6 月 20 日
    @ererrrr 可以,但是只要使用到了 sourcetree 本身的项目删除功能(包括只删除项目书签和从磁盘删除),都可能会触发这个问题
    Duolingo
        11
    Duolingo  
    OP
       2025 年 6 月 20 日
    @peasant 它把我的项目清空了,这已经足够危险了
    neoblackcap
        12
    neoblackcap  
       2025 年 6 月 20 日   ❤️ 1
    最稳定的是命令行,关键是在于你知道那些命令是干了什么。其他外部工具基本上是在合并的时候才会用
    wangtian2020
        13
    wangtian2020  
       2025 年 6 月 20 日   ❤️ 1
    没在 sourcetree 里删过库,没遇到过这个问题。没事的又不是我用 sourcetree 会意外删文件
    zx9481
        14
    zx9481  
       2025 年 6 月 20 日   ❤️ 1
    目前在用 jb 家的 git
    MIUIOS
        15
    MIUIOS  
       2025 年 6 月 20 日   ❤️ 1
    感觉用过最好的还是 jb 的 git ,清晰又好用
    anan1314git
        16
    anan1314git  
       2025 年 6 月 20 日   ❤️ 1
    SourceTree 和 fork 相比较, 性能差不少, 项目一大, 历史一多, tab 切换比较卡顿, graph 列表滚动也不流畅
    tonytonychopper
        17
    tonytonychopper  
       2025 年 6 月 20 日   ❤️ 1
    jb 的 git 是我用过最舒服最好用的
    ggvoking
        18
    ggvoking  
       2025 年 6 月 20 日   ❤️ 1
    sourcetree 卡死了,fork 才是 yyds ,用了好多年了。
    prosgtsr
        19
    prosgtsr  
       2025 年 6 月 20 日
    我一直用 idea 的 git ,爽
    同事一堆用 sourcetree 的。不知道为何,还有少数用命令行
    ooops
        20
    ooops  
       2025 年 6 月 20 日
    sourcetree 已经扔了 5 6 年了,不思进取,就 sidebar 宽度记忆都没有,留它何用
    devfeng
        21
    devfeng  
       2025 年 6 月 20 日
    我也改用 idea 内置 git gui 了,很好用,sourcetree 不知道为什么太卡了,现在也就用一下交互式变基
    beatboxgao
        22
    beatboxgao  
       2025 年 6 月 20 日
    推荐一下 lazygit ,是命令行的 TUI ,操作简单明了。
    如果项目有多个 git repo (例如 submodule )配合 tmux 使用更佳。
    tangmanger
        23
    tangmanger  
       2025 年 6 月 20 日
    没有用 git extension 的嘛
    liuliuliuliu
        24
    liuliuliuliu  
    PRO
       2025 年 6 月 20 日
    sourcetree 本身就不是一款十分专业的 git 的 gui 啊。
    他当初是为了推广自家的 bitbucket 的 hg 版本控制工具,后来才加上的 git 的支持,所有有些操作为了 2 个控制工具的兼容,做的很奇怪。
    历史原因导致他的用户很多……

    所有考虑用一些专业的 git gui 工具,例如上面提到 fork ,gitkraken ,还有国产的 SourceGit ,都不错
    netabare
        25
    netabare  
       2025 年 6 月 21 日 via iPhone
    SourceTree 似乎只有 windows 版,而且是用 Java 写的,性能和稳定性都很有问题。

    JB 的 git 插件倒是对于 git 的轻度使用足够了,不过总感觉过度封装,有时候会比较要命,比如 commit 窗口上有个「 commit and push 」的按钮,我直接用插件屏蔽了,再比如 update 实际上封装了几个操作。

    感觉最稳定的还是命令行(
    twig
        26
    twig  
       2025 年 6 月 21 日
    @netabare SourceTree 有 Mac 版的。

    ---

    不过我发现 VSCode 的 git 插件也挺不错的。已经放弃 SourceTree 了。
    quqiu
        27
    quqiu  
       2025 年 6 月 21 日 via iPhone
    一直用 git graph
    diff 功能用的老版本的 gitlen
    GGMM
        28
    GGMM  
       2025 年 6 月 21 日
    对我来说,git 的任务主要就是 commit 、创建分支、rebase 、pull ,剩下的就是 git push 然后合并代码了。所以用的插件就是:git graph (可视化 git 提交历史) + gitlens (好看的 git 提交界面)
    Bzero
        29
    Bzero  
       2025 年 6 月 21 日
    腾讯家的 ugit 可以试试,缺点就是太大了。
    linxl
        30
    linxl  
       2025 年 6 月 21 日
    gitk 我就用这个...
    bowencool
        31
    bowencool  
       2025 年 6 月 21 日
    jackmod
        32
    jackmod  
       2025 年 6 月 21 日
    一般用 git 命令行,只有在合并冲突时候启动 vscode 编辑一下
    beimenjun
        33
    beimenjun  
    PRO
       2025 年 6 月 21 日
    sourcetree for mac 免费,功能完全,目前看满足我的需求。
    MasterCai
        34
    MasterCai  
       2025 年 6 月 21 日
    目前觉得 vscode 下的 gitlens 还比较好用
    Mandelo
        35
    Mandelo  
       2025 年 6 月 21 日 via Android
    一直在用 idea 自带的 git ,ai 插件自动生成 commit message ,合并界面也好用
    k1rin
        36
    k1rin  
       2025 年 6 月 21 日 via Android
    VSCode 插件:git graph + git blame
    daimaosix
        37
    daimaosix  
       2025 年 6 月 21 日
    @beimenjun 这个 PRO 会员是个啥啊大哥
    qwasfun
        38
    qwasfun  
       2025 年 6 月 21 日
    试试 SourceGit ,结合 git worktree 好用
    cdwyd
        39
    cdwyd  
       2025 年 6 月 21 日 via Android
    @GGMM git graph 之前也在用,现在 vscode 的 git 本身也有了图形化查看的功能,感觉也够用。
    CWorld
        40
    CWorld  
       2025 年 6 月 21 日
    可以试试 gitbutler ,git 核心团队独立出来做的项目,开源美观,易上手
    mark2025
        41
    mark2025  
       2025 年 6 月 22 日
    我觉得 windows 下是 TortoiseGit 小乌龟最好用,尤其是和 Total Commander 结合使用: 自定义 TC 的快捷键绑定小乌龟常用操作

    # usercmd.ini
    [em_TortoiseGit_commit]
    button=%PROGRAMFILES%\TortoiseGit\bin\TortoiseGitProc.exe
    cmd=""%PROGRAMFILES%\TortoiseGit\bin\TortoiseGitProc.exe""
    param=/command:commit /path:"%P%N"
    [em_TortoiseGit_log]
    button=%PROGRAMFILES%\TortoiseGit\bin\TortoiseGitProc.exe
    cmd=""%PROGRAMFILES%\TortoiseGit\bin\TortoiseGitProc.exe""
    param=/command:log /path:"%P%N"
    [em_TortoiseGit_add]
    button=%PROGRAMFILES%\TortoiseGit\bin\TortoiseGitProc.exe
    cmd=""%PROGRAMFILES%\TortoiseGit\bin\TortoiseGitProc.exe""
    param=/command:add /path:"%P%N"
    [em_TortoiseGit_rename]
    button=%PROGRAMFILES%\TortoiseGit\bin\TortoiseGitProc.exe
    cmd=""%PROGRAMFILES%\TortoiseGit\bin\TortoiseGitProc.exe""
    param=/command:rename /path:"%P%N"
    [em_TortoiseGit_revert]
    button=%PROGRAMFILES%\TortoiseGit\bin\TortoiseGitProc.exe
    cmd=""%PROGRAMFILES%\TortoiseGit\bin\TortoiseGitProc.exe""
    param=/command:revert /path:"%P%N"


    # wincmd.ini
    CS+C=em_TortoiseGit_commit
    CS+G=em_TortoiseGit_log
    CS+A=em_TortoiseGit_add
    CS+R=em_TortoiseGit_rename
    CS+V=em_TortoiseGit_revert

    如此设置,Ctrl+Shift+C 就可以提交 TC 当前光条所在的文件或者目录。 效率非常高。
    alleluya
        42
    alleluya  
       2025 年 6 月 23 日
    话说 jb 家的 git gui 没有像手机里那种单独提取 app 的 apk 似的 提一个安装包出来吗?
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1500 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 16:34 · PVG 00:34 · LAX 08:34 · JFK 11:34
    ♥ Do have faith in what you're doing.