如何在 IntelliJ IDEA 2016.1 中使用 git 工作树?
How do I use git worktrees in IntelliJ IDEA 2016.1?
最新版本的 IntelliJ 说它支持 git 工作树,但我似乎找不到任何地方说明如何使用它。我期待在右下方的 Git 分支弹出窗口中看到一个条目,但我在那里没有看到它。
我也没有看到任何描述:
Blog post announcing the feature
What's new video
IntelliJ 帮助和谷歌搜索也无济于事
我正在使用 Git 版本 2.7.2.0,工作树是在 2.5
中引入的
据我所知,"support" 意味着当您在 IntelliJ 中打开工作树时,所有 VCS 功能都可以正常工作。根据 max630 提供的 Youtrack link 中的评论,您无法查看 2016.1 之前的差异、查看历史记录或提交更改。
但是,对于 2016.1,您可以将工作树作为新项目打开并通过 IntelliJ 执行所有 VCS 操作。
为我们这些 .gitignore
他们共享项目设置会很好,但目前似乎不受支持。
我最近成功地使用了以下工作流程:
git worktree add ../hotfix hotfix/1.2.3
File -> Open
在 IntelliJ
- 手动将所有 运行 配置复制到新的
.idea
目录(如有必要)
最可能的原因是 git worktree add
默认使用绝对路径,所以如果你 运行 从 bash (Git For Windows' 或 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
从删除它和检查原始 repo 中的相同分支)
最新版本的 IntelliJ 说它支持 git 工作树,但我似乎找不到任何地方说明如何使用它。我期待在右下方的 Git 分支弹出窗口中看到一个条目,但我在那里没有看到它。
我也没有看到任何描述:
Blog post announcing the feature
What's new video
IntelliJ 帮助和谷歌搜索也无济于事
我正在使用 Git 版本 2.7.2.0,工作树是在 2.5
中引入的据我所知,"support" 意味着当您在 IntelliJ 中打开工作树时,所有 VCS 功能都可以正常工作。根据 max630 提供的 Youtrack link 中的评论,您无法查看 2016.1 之前的差异、查看历史记录或提交更改。
但是,对于 2016.1,您可以将工作树作为新项目打开并通过 IntelliJ 执行所有 VCS 操作。
为我们这些 .gitignore
他们共享项目设置会很好,但目前似乎不受支持。
我最近成功地使用了以下工作流程:
git worktree add ../hotfix hotfix/1.2.3
File -> Open
在 IntelliJ- 手动将所有 运行 配置复制到新的
.idea
目录(如有必要)
最可能的原因是 git worktree add
默认使用绝对路径,所以如果你 运行 从 bash (Git For Windows' 或 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
从删除它和检查原始 repo 中的相同分支)