10

The newest version of IntelliJ says it has support for git worktrees, but I can't seem to find anywhere that says how to use it. I was expecting to see an entry in the Git Branches popup in the lower right, but I don't see it there.

I also don't see any descriptions in:
Blog post announcing the feature
What's new video

IntelliJ help and googling were also unhelpful

I'm using Git version 2.7.2.0, worktrees were introduced in 2.5

4

2 回答 2

13

据我所知,“支持”意味着当您在 IntelliJ 中打开工作树时,所有 VCS 功能都可以正常工作。根据 max630 提供的 Youtrack 链接中的评论,您无法查看 2016.1 之前的差异、查看历史记录或提交更改。

但是,使用 2016.1,您可以将工作树作为新项目打开并通过 IntelliJ 执行所有 VCS 操作。

为我们这些人共享项目设置会很好.gitignore,但目前似乎不支持。

我最近一直在成功使用以下工作流程:

  1. git worktree add ../hotfix hotfix/1.2.3
  2. File -> Open在 IntelliJ 中
  3. 手动将所有运行配置复制到新.idea目录(如有必要)
于 2016-04-11T21:40:54.690 回答
4

最可能的原因是git worktree add默认情况下使用绝对路径,所以如果你从 bash(Windows 的 Git 或 WSL)运行它,路径在 Windows 的 git 上将无效:

C:\code\worktree-repo>git status fatal: Not a git repository: /mnt/c/code/original-repo/.git/worktrees/worktree-repo

.git您可以通过将工作树文件(不是工作树的目录!)中的路径更新为相对路径来解决此问题:

C:\code\worktree-repo>type .git gitdir: ../original-repo/.git/worktrees/worktree-repo

您还应该更新.git/worktrees/worktree-repo/gitdir为相对的,以便原始存储库中的 windows git 知道如何找到工作树,但这并不重要(AFAIK,它可以防止git worktree prune删除它并检查原始存储库中的相同分支)

于 2017-05-29T23:06:54.357 回答