0

首先,让我给你介绍一下我的 git repo 和我的设置的背景......
例如 https://github.com/gitRepo/sqeTemp......
在那个 repo 中,我有 5 个彼此不相关的 mavenized 项目。

gitRepo/sqeTemp

  > Project 1
  > Project 2
  > Project 3
  > Project 4
  > Project 5

pom.xml项目 1 中(这是我要发布的项目,我有以下内容:

<scm>
    <connection>scm:git:git@github.com:gitRepo/sqeTemp.git</connection>
    <developerConnection>scm:git:git@github.com:gitRepo/sqeTemp.git</developerConnection>
    <url>http://github.com/gitRepo/sqeTemp</url>
</scm>

<distributionManagement>
    <repository>
        <id>releases</id>
        <url>
            http://ec2.compute.amazonaws.com:8081/nexus/content/repositories/releases
        </url>
    </repository>
    <snapshotRepository>
        <id>snapshots</id>
        <url>
            http://ec2.compute.amazonaws.com:8081/nexus/content/repositories/snapshots
        </url>
    </snapshotRepository>
</distributionManagement>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.4.1</version>
    <configuration>
        <autoVersionSubmodules>false</autoVersionSubmodules>
    </configuration>
</plugin>

当我执行mvn release:prepare命令时,它抱怨我对项目 2 和项目 3 进行了本地修改,这应该没问题,因为它根本与项目 1 无关。
现在的问题是,我如何告诉发布插件和 Git 只关注项目 1,甚至不关心项目 2 和 3。
我是 GIT 的新手,并且一直是 SVN 的长期用户,从来没有这个SVN 的问题。

4

2 回答 2

1

使用 Subversion,您可以只签出存储库的子目录。这在 Git 中是不可能的。对于大型项目,这意味着您始终必须下载整个存储库,即使您只需要某些子目录的当前版本。我相信这就是为什么发布插件抱怨其他项目的本地更改。这是 git 背后的一种通用思想,因此解决此问题的最佳方法是将单独的项目移动到单独的 git 存储库或单独的git 子模块

于 2013-09-12T19:04:39.367 回答
0

为了快速解决问题,您是否尝试隐藏项目 2 和 3 中的更改?

于 2013-09-12T20:45:29.913 回答