kekxv
0D

各位, vscode 有没有类似 idea 里面的 git 插件?

  •  
  •   kekxv · Jul 13, 2025 · 9546 views
    This topic created in 481 days ago, the information mentioned may be changed or developed.

    团队开发的时候,git pull 下拉出现合并冲突的情况下,有什么好的插件可以手动或者自动合并吗?目前都是直接中断掉了

    Supplement 1  ·  Jul 14, 2025
    目前直接提示:

    ```log
    4656b7d..7e09f7a main -> origin/main
    更新 4656b7d..7e09f7a
    error: 您对下列文件的本地修改将被合并操作覆盖:
    app/config.cfg
    请在合并前提交或贮藏您的修改。
    正在终止
    ```

    似乎有可能是 #36 说的 `开启 Auto stash`

    > 有些时候,本地不太方便提交:可能是 A 处理了问题,B 处理了问题,但是 B 的更好,提交了,此时 A 的该问题的不需要提交,但是需要合并 B 的代码
    Supplement 2  ·  Jul 14, 2025

    Auto stash 应该是我要的功能,不过它不是弹出提示合并,而是你打开文件之后,右下角有一个操作按钮,勉强符合预期,感谢各位的回复

    45 replies  •  2025-07-14 22:37:40 +08:00
    Belmode
    Belmode
    Jul 13, 2025
    1
    Gitlen
    xgdgsc
    xgdgsc
    Jul 13, 2025 via Android
    2
    不是自带的?
    nativeBoy
    nativeBoy
    Jul 13, 2025❤️1
    3
    和我之前提问的差不多: https://www.v2ex.com/t/1123119
    其中,jetbrains 搞了个 git 客户端的内测了: https://lp.jetbrains.com/closed-preview-for-jetbrains-git-client/
    我目前的方案是,git 相关操作,都用 idea 社区版打开项目,操作,其他都用 vscode
    sn0wdr1am
    sn0wdr1am
    Jul 13, 2025
    4
    Git Graph

    能用就行了,何必折腾。
    kekxv
    kekxv
    OP
    Jul 13, 2025❤️1
    5
    @sn0wdr1am 不是折腾的问题,用过 idea 的之后,发现能用和好用真的区别很大
    kekxv
    kekxv
    OP
    Jul 13, 2025
    6
    @xgdgsc 似乎没有,我装上去的没有,同事的也没有
    kekxv
    kekxv
    OP
    Jul 13, 2025
    7
    @Belmode 我试试
    kekxv
    kekxv
    OP
    Jul 13, 2025
    8
    @nativeBoy 目前我用 code-server ,不太方便这样操作
    FlashEcho
    FlashEcho
    Jul 13, 2025❤️2
    10
    应该是没有,git graph 和 git lens 我都试用过,全都不如 idea 的自带 git
    llcczz
    llcczz
    Jul 13, 2025
    11
    @kekxv #5 那你直接用 idea 开发不就行了,你用 vs 多半是前端吧,现在 webstorm 也是免费的呀
    johnnyyeen
    johnnyyeen
    Jul 13, 2025
    12
    或者换个思路,独立的 git 客户端工具?
    iorilu
    iorilu
    Jul 13, 2025
    13
    vscode 自带 git 是不太行, 想看个单个文件变化的历史都没
    sevenQu
    sevenQu
    Jul 13, 2025
    14
    @nativeBoy 期待,感谢分享
    kekxv
    kekxv
    OP
    Jul 13, 2025
    15
    @xgdgsc 和这个差不多,但是为啥我的没有,是需要设置什么开起来吗?
    kekxv
    kekxv
    OP
    Jul 13, 2025
    16
    @llcczz 不只是前端,目前我需要再其他机器上测试,用了 code-server ,方便改了就测试,然后就有时候会出现冲突
    xgdgsc
    xgdgsc
    Jul 13, 2025 via Android
    17
    @kekxv 不需要,默认就有,你 git pull 是用的终端还是 vscode 的命令面板
    mascteen
    mascteen
    Jul 13, 2025
    18
    magit
    waveless
    waveless
    Jul 13, 2025
    19
    你要是用过 Visual Studio (不是 vscode )就不会说 idea 的 git 插件最好了。大部分人说 idea 好实际需求是解决冲突时的三屏界面,vscode 其实也自带,就是 @xgdgsc 说的那个,需要解决冲突时,点击右下角的蓝色“Resolve in Merge Editor”按钮,就会打开类似的三屏界面。
    kekxv
    kekxv
    OP
    Jul 13, 2025
    20
    可能我没说明白,不是下拉成功之后的合并,是本地代码修改,未提交,然后 pull 了远程代码的情况下,他没有一个 ui 界面进行合并
    waveless
    waveless
    Jul 13, 2025
    21
    @kekxv 不提交也能 Pull 吗?合并不应该是两个已提交节点比对吗,每个节点分配唯一标识符。本地修改完,没有提交进 Git 目录,Git 不知道修改的内容吧?
    lysShub
    lysShub
    Jul 13, 2025
    22
    @kekxv 1.git stash 2. git pull 3. git stash pop
    momocraft
    momocraft
    Jul 13, 2025
    23
    IdeaJ 有用的不止那个 3 way diff ,我常用的还有:

    - change list:本地改了不想 commit 的变更可以放到单独的 change list ,一直不 commit 。git cli 没类似功能,可能很麻烦才能改出这个来。
    - 编辑器里选一段代码,看这段代码的 git history
    zoharSoul
    zoharSoul
    Jul 13, 2025
    24
    没有
    ellermister
    ellermister
    Jul 13, 2025 via Android❤️1
    25
    vscode 的 git 极其垃圾,连个选中代码历史修改追踪,都看不到。
    iorilu
    iorilu
    Jul 13, 2025
    26
    vscode 的 git lens 功能是比自带强一些, 不过感觉很臃肿, 乱七八糟面板好几个, 而且也不是免费的

    git history/git graph 功能太简单, 连查看带个文件更改记录都不方便看
    bowencool
    bowencool
    Jul 13, 2025
    27
    没有,不过看"<<<<<<<=======>>>>>>>"也习惯了😂
    waveless
    waveless
    Jul 13, 2025
    28
    @momocraft 这个 change list 不就等同于对 `git stash`的封装吗?至于代码块的历史纪录,这种功能对于 IDE 来说也是要订阅才有的吧?
    waveless
    waveless
    Jul 13, 2025
    29
    @bowencool 不是,右下角那个浮动按钮没有见过吗?还是屏幕太大了没注意😂
    bowencool
    bowencool
    Jul 13, 2025
    30
    @waveless #29 浮动按钮没注意,不过我有印象 VSCode 最开始上线下图的功能的时候试了下,没有感觉比"<<<<<<<=======>>>>>>>"更清晰好用,然后就关掉了。 说到底还是 idea 太强了,搞得大家都追不上😂 https://code.visualstudio.com/assets/docs/sourcecontrol/overview/merge-editor-overview.png
    dhssingle
    dhssingle
    Jul 13, 2025
    31
    Rider 里的 git 插件应该是和 idea 里的一样的吧,感觉还不如 Visual Studio 2022 中的 git 插件。
    momocraft
    momocraft
    Jul 13, 2025
    32
    @waveless 不等于。change list 里的东西一直在 worktree 里。简单地 stash 会把 patch 从 worktree 移到 stash commit 里。
    redbeanzzZ
    redbeanzzZ
    Jul 14, 2025
    33
    @iorilu #13 左边下面的时间线就是
    Imindzzz
    Imindzzz
    PRO
    Jul 14, 2025
    34
    @kekxv #20 你是在终端手敲的 git pull 吗?
    我经常用 GUI pull rebase ,如果有冲突会提示解决的。

    你可以详细说说你的操作步骤吗,能录个视频最好了,方便讨论。
    Mogugugugu
    Mogugugugu
    Jul 14, 2025
    35

    有 Merge Editor , 体验下来还可以。
    zhbhun
    zhbhun
    Jul 14, 2025❤️1
    36
    设置里开启 Auto stash 试下,在 pull 的时候会自动帮你 stash 和恢复。

    还有如果已经有 commit 了,想不用 merge 来处理,可以开启 rebase when sync 。
    Ritter
    Ritter
    Jul 14, 2025
    37
    vs code 有 git blame 吗 找了好久没找到
    Cruzz
    Cruzz
    Jul 14, 2025
    38
    我日常虚拟机拉代码,用了好些 git 工具,最后没办法还是下载了 idea 。合代码还是 idea 的工具舒服。
    pakholeung372
    pakholeung372
    Jul 14, 2025
    39
    @nativeBoy 一直想要这个,转到 cursor 后,每次大量合并都要打开 IDE
    pakholeung372
    pakholeung372
    Jul 14, 2025❤️1
    40
    @Ritter 插件才有的功能 gitlens 插件 有带,另外有个插件就叫 git blames
    ruke
    ruke
    Jul 14, 2025
    41
    lazygit 有 vscode 插件
    sola97
    sola97
    Jul 14, 2025
    42

    Git Lens 的底部面板算比较接近 idea 的了吧
    wcs111
    wcs111
    Jul 14, 2025
    43
    开了自动 rebase ,Git Graph + Git History Diff + 自带 + 命令行,挺顺手的,冲突我一般是先 commit 再 pull 合并,不想提交就再 undo commit ;或者先 stash 再 pull 。 没遇到难处理的场景。Auto stash 也没用过
    Dganzh
    Dganzh
    Jul 14, 2025
    44
    借楼歪题问一下,有没有图形界面支持像 SVN 那样的过滤提交记录功能,比如输入 user ,就展示提交的文件名包含 user 的提交记录,接着就可以选中提交记录->再选文件->查看 diff 。
    Dganzh
    Dganzh
    Jul 14, 2025
    45
    补上楼,可以是 git gui 软件、也可以是 git idea 插件
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1709 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 77ms · UTC 15:58 · PVG 23:58 · LAX 07:58 · JFK 10:58
    ♥ Do have faith in what you're doing.