• 请不要在回答技术问题时复制粘贴 AI 生成的内容
mossrock
V2EX  ›  程序员

有大佬知道 idea 怎么对同一个项目同时打开不同分支的窗口

  •  
  •   mossrock · May 13, 2022 · 8880 views
    This topic created in 1496 days ago, the information mentioned may be changed or developed.

    有时候代码上线日期不一样,但是后面开发的东西需要看看还没上线的代码,就很难受。

    不知道有没有大佬有办法,对于同一个项目,idea 中打开一个分支就打开一个新窗口。

    34 replies    2022-05-15 11:49:30 +08:00
    crayygy
        1
    crayygy  
       May 13, 2022
    Annotation 或者 从 Git 那个 tab 下面找其他 branch 下面的 commit 的 diff
    xuanbg
        2
    xuanbg  
       May 13, 2022
    一般来说,看什么版本的代码就切什么分支或 tag 。比较代码就直接双击提交记录。同时看多个分支的代码,在同一台电脑上是不可能的任务。唯一的办法是多台电脑,每台一个分支就行了。
    xuanbg
        3
    xuanbg  
       May 13, 2022
    @crayygy diff 有局限性,只能显示相邻版本的差异。且不能看某个版本的完整代码。
    hzymyp
        4
    hzymyp  
       May 13, 2022 via Android   ❤️ 9
    本地 clone 多份
    fqy12300
        5
    fqy12300  
       May 13, 2022   ❤️ 1
    编辑器看旧代码,GitHub / Gitlab 看新代码?
    book1925
        6
    book1925  
       May 13, 2022
    我是土办法。。clone 一份然后 vscode 打开拖到副屏看。。。
    acoldfox
        7
    acoldfox  
       May 13, 2022   ❤️ 1
    好像做不到,除非克隆一个文件夹出来,可以试试官方建议的 git worktree
    rb6221
        8
    rb6221  
       May 13, 2022
    你切分支难道不是本地切吗?本地仓库不能同时处于好几个分支上啊,用无论什么 IDE 打开都是一个分支,怎么可能同时有 2 个分支。2 个分支都做不到,更别提 2 个窗口了
    mossrock
        9
    mossrock  
    OP
       May 13, 2022
    好吧,主要 diff 看的时候不那么灵活,看来就本地 clone 是最佳方案。。。就有时候要拆代码,commit 较多想直接复制下,切个分支就忘记写的什么了。
    taco1wang
        10
    taco1wang  
       May 13, 2022
    右键那个分支,可以 compare with other branch
    crayygy
        11
    crayygy  
       May 13, 2022
    如果只是为了 View 的话,没有网页工具能用么,GitHub/Gitlab 用来看代码做的也挺好的,也有插件可以支持跳转
    czyt
        12
    czyt  
       May 13, 2022
    直接 diff
    Veneris
        13
    Veneris  
       May 13, 2022
    和你 idea 没关系,你这个项目在 git 就只能处于一个分支,几个 idea 也是一样的
    Jooooooooo
        14
    Jooooooooo  
       May 13, 2022
    你 git 切完分支磁盘里的代码就变了, idea 也无能为力呀.
    ranNice
        15
    ranNice  
       May 13, 2022
    Git Worktree 完美契合楼组诉求
    ranNice
        16
    ranNice  
       May 13, 2022   ❤️ 1
    yc8332
        17
    yc8332  
       May 13, 2022
    不是可以看不同分支的差异吗?
    wolfie
        18
    wolfie  
       May 13, 2022
    compare with branch ,选择远程分支比对。
    liuhuansir
        19
    liuhuansir  
       May 13, 2022
    本地 clone 每个分支的代码,打开多个 idea 窗口,想同时看几个分支取决于你的内存空间
    admol
        20
    admol  
       May 13, 2022   ❤️ 3
    Git Worktree

    存在多个分支,需要不停的切换分支来进行开发或者修改 BUG 时,并且是持续不断的。

    传统的解决办法是克隆仓库到多个目录,切换到不同的分支来进行开发。

    Git 从 2.6.0 开始新增一个命令`git worktree` 来解决这种场景下的问题。
    zamaojava
        21
    zamaojava  
       May 13, 2022
    这需求太冷门,我倒是遇到过一次,合了垃圾分支代码,快上线了,根本撤销不了,赶紧切了新分支,把需求代码重新复制过来。当时就重新 clone 了项目,然后用 idea 打开了他,就可以 2 个窗口了
    rehoni
        22
    rehoni  
       May 13, 2022
    再拉一个到本地,idea 当两个项目打开
    mossrock
        23
    mossrock  
    OP
       May 13, 2022
    @ranNice 看了看描述,确实感觉有点类似,晚上试一试,感谢大佬
    xixitt26
        24
    xixitt26  
       May 13, 2022
    云端 IDE 是不是能支持。。。
    vanxy
        25
    vanxy  
       May 13, 2022
    直接右键 -> Git -> Compare with Branch , 选择对比的分支, 就出来左右分栏的编辑器了
    misdake
        26
    misdake  
       May 13, 2022
    commit 上右键,show repository at revision ,给你一个这个版本的文件树,就能随便看了
    lslvxy
        27
    lslvxy  
       May 13, 2022
    CV 一个不就行了,两个文件夹分别 checkout 不同的分支
    456789
        28
    456789  
       May 13, 2022
    project 视图下随便一个文件右击 git -> compare with other branch
    Nachtblut
        29
    Nachtblut  
       May 13, 2022 via iPhone
    git worktree
    daveh
        30
    daveh  
       May 13, 2022 via iPhone
    @misdake 对头,show repository at revision 这个是正解,选要看的其他分支的最新 commit 点,右键 show ,直接能查看那个分支所有代码,不需要额外 checkout 动作。
    另外如果想只看差异文件,在分支名右键 Show Diff with Woking Tree 也行,就只看所有差异文件。
    chasingstar
        31
    chasingstar  
       May 13, 2022
    再 clone 一份代码好像不是什么难事
    yungo8
        32
    yungo8  
       May 13, 2022 via Android
    @lslvxy 哈哈,我之前就是这样的,都不用克隆的
    sola97
        33
    sola97  
       May 13, 2022 via Android
    git worktree
    AllenTsui
        34
    AllenTsui  
       May 15, 2022
    把项目多复制几个 working copy1 、working copy2 、working copy3...我复制了 5 个,项目并行开发从来不切分支,很舒服
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4199 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 191ms · UTC 05:24 · PVG 13:24 · LAX 22:24 · JFK 01:24
    ♥ Do have faith in what you're doing.