有时候代码上线日期不一样,但是后面开发的东西需要看看还没上线的代码,就很难受。
不知道有没有大佬有办法,对于同一个项目,idea 中打开一个分支就打开一个新窗口。

Annotation 或者 从 Git 那个 tab 下面找其他 branch 下面的 commit 的 diff

一般来说,看什么版本的代码就切什么分支或 tag 。比较代码就直接双击提交记录。同时看多个分支的代码,在同一台电脑上是不可能的任务。唯一的办法是多台电脑,每台一个分支就行了。

diff 有局限性,只能显示相邻版本的差异。且不能看某个版本的完整代码。

本地 clone 多份

编辑器看旧代码,GitHub / Gitlab 看新代码?

我是土办法。。clone 一份然后 vscode 打开拖到副屏看。。。

好像做不到,除非克隆一个文件夹出来,可以试试官方建议的 git worktree

你切分支难道不是本地切吗?本地仓库不能同时处于好几个分支上啊,用无论什么 IDE 打开都是一个分支,怎么可能同时有 2 个分支。2 个分支都做不到,更别提 2 个窗口了

好吧,主要 diff 看的时候不那么灵活,看来就本地 clone 是最佳方案。。。就有时候要拆代码,commit 较多想直接复制下,切个分支就忘记写的什么了。

右键那个分支,可以 compare with other branch

如果只是为了 View 的话,没有网页工具能用么,GitHub/Gitlab 用来看代码做的也挺好的,也有插件可以支持跳转

直接 diff

和你 idea 没关系,你这个项目在 git 就只能处于一个分支,几个 idea 也是一样的

你 git 切完分支磁盘里的代码就变了, idea 也无能为力呀.

Git Worktree 完美契合楼组诉求

zhuanlan.zhihu.com/p/92906230

不是可以看不同分支的差异吗?

compare with branch ,选择远程分支比对。

本地 clone 每个分支的代码,打开多个 idea 窗口,想同时看几个分支取决于你的内存空间

Git Worktree

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

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

Git 从 2.6.0 开始新增一个命令git worktree 来解决这种场景下的问题。

这需求太冷门,我倒是遇到过一次,合了垃圾分支代码,快上线了,根本撤销不了,赶紧切了新分支,把需求代码重新复制过来。当时就重新 clone 了项目,然后用 idea 打开了他,就可以 2 个窗口了

再拉一个到本地,idea 当两个项目打开

看了看描述,确实感觉有点类似,晚上试一试,感谢大佬

云端 IDE 是不是能支持。。。

直接右键 -> Git -> Compare with Branch , 选择对比的分支, 就出来左右分栏的编辑器了

commit 上右键,show repository at revision ,给你一个这个版本的文件树,就能随便看了

CV 一个不就行了,两个文件夹分别 checkout 不同的分支

project 视图下随便一个文件右击 git -> compare with other branch

git worktree

对头,show repository at revision 这个是正解,选要看的其他分支的最新 commit 点,右键 show ,直接能查看那个分支所有代码,不需要额外 checkout 动作。
另外如果想只看差异文件,在分支名右键 Show Diff with Woking Tree 也行,就只看所有差异文件。

再 clone 一份代码好像不是什么难事

哈哈,我之前就是这样的,都不用克隆的

git worktree