2016-04-05 17 views
6

Die neueste Version von IntelliJ sagt, es hat Unterstützung für Git Worktrees, aber ich kann nirgends finden, dass es sagt, wie man es benutzt. Ich habe erwartet, dass ich einen Eintrag im Git Branches Popup unten rechts sehen würde, aber ich sehe es dort nicht.Wie verwende ich git worktrees in IntelliJ IDEA 2016.1?

Ich sehe auch nicht alle Beschreibungen in:
Blog post announcing the feature
What's new video

IntelliJ Hilfe und googeln waren auch nicht hilfreich

Ich verwende Git Version 2.7.2.0, worktrees in 2.5 eingeführt wurden

+0

Kann es in Arbeitsbaum navigieren, wenn Sie es manuell erstellen mit dem Befehl 'git worktree add ...'? – max630

+0

nach https://youtrack.jetbrains.com/issueMobile/IDEA-143404 ist es immer noch nicht behoben, vielleicht sollten Sie es für weitere Informationen verfolgen – max630

Antwort

7

Soweit ich weiß, bedeutet "Unterstützung", dass alle VCS-Funktionen ordnungsgemäß funktionieren, wenn Sie einen Arbeitsbaum in IntelliJ öffnen. Basierend auf den Kommentaren in dem Youtrack-Link, der von max630 bereitgestellt wird, konnten Sie vor 2016.1 keine Diffs anzeigen, Verlauf anzeigen oder Änderungen bestätigen.

Mit 2016.1 können Sie den Arbeitsbaum jedoch als neues Projekt öffnen und alle VCS-Operationen über IntelliJ ausführen.

Es wäre schön, Projekteinstellungen für diejenigen von uns freigegeben zu haben, die .gitignore ihnen, aber das scheint derzeit nicht unterstützt werden.

Ich habe mit dem folgenden Workflow vor kurzem mit Erfolg:

  1. git worktree add ../hotfix hotfix/1.2.3
  2. File -> Open in IntelliJ
  3. manuell kopieren Sie alle Run-Konfigurationen auf das neue .idea Verzeichnis (falls erforderlich)
0

Der wahrscheinlichste Grund dafür ist, dass git worktree add absolute Pfade standardmäßig verwendet, also wenn Sie laufen es von einem bash (Git für Windows git oder WSL), wird der Pfad auf Windows nicht gültig:

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

Sie können dieses Problem beheben, indem Sie den Pfad in der worktree .git Aktualisierung der Datei (kein Verzeichnis ! auch .git/worktrees/worktree-repo/gitdir aktualisieren sollte

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

Sie relativ zu sein, so Fenster git im ursprünglichen Repo weiß, wie die worktree zu finden, aber das ist weniger wichtig (AFAIK, es verhindert git worktree prune: für worktrees) sein relativ vom Fallenlassen und aus dem gleichen Zweig in der ursprünglichen Repo)