开始发布时出错:工作树有未跟踪的文件

Error starting release: Working tree has untracked files

我正在使用 Maven JGit-Flow 插件来自动化一些发布过程。不幸的是,我在尝试使用 mvn jgitflow:release-start:

开始新版本时遇到了这个问题
[ERROR] Failed to execute goal external.atlassian.jgitflow:jgitflow-maven-plugin:1.0-m5.1:release-start (default-cli) on project <myProjectName>: Error starting release: Error starting release: Working tree has untracked files 

但是我在这里(也不是在 master 上)看不到和未跟踪的文件:

git status
On branch develop
Your branch is up-to-date with 'origin/develop'.
nothing to commit, working directory clean

知道 Maven JGit-Flow 插件如何找到未跟踪的文件吗?

已通过允许未跟踪的文件修复此问题:

            <plugin>
                <groupId>external.atlassian.jgitflow</groupId>
                <artifactId>jgitflow-maven-plugin</artifactId>
                <version>1.0-m5.1</version>
                <configuration>
                    <pushReleases>true</pushReleases>
                    <allowUntracked>true</allowUntracked>
                </configuration>
            </plugin>

请检查所有生成的 Maven 和 IDE 生成的文件和文件夹。将它们添加到 .gitignore.

以下是我忽略的文件和文件夹。我正在使用 Maven 3 和 IntelliJ。这是.gitignore的内容:

### IntelliJ Idea Project Files.

# IntelliJ project files
.idea
*.iml
out
gen
target/

### Java Files
*.class

# Package Files #
*.jar
*.war
*.ear
.settings
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

对于以下大多数人来说,如果他们没有使用 IntelliJ,他们将解决这个问题:

target/

查看 .git/jgitflow.log 将显示发现哪些文件未被 jgitflow 跟踪。在我的例子中,我找到了这条线:

GitHelper:         _  -- untracked: .DS_Store _

我有一个全局 gitignore 文件

$ git config --get core.excludesfile
~/.gitignore_global

其中 .DS_Store 设置为排除项。不幸的是 jgitflow 似乎不知道这个设置。所以我将排除项添加到项目的 .gitignore 文件中:

 ### Mac OSX
.DS_Store

之后 mvn jgitflow:release-start 按预期工作。