Ant在git签出后编译错误的版本

Ant在git签出后编译错误的版本,git,ant,Git,Ant,我在git存储库的ant构建中发现了一种奇怪的行为。我是这样做的: 我在git存储库中有两个分支,“master”和“dev”,我在最终版本之前提交了所有更改。在几次承诺之后,我发现自己陷入了这样的境地: *----*---------*-----* dev | | | | (commit) (commit) master 在dev分支中,我使用ant脚本构建了一个jar,然后将其保存以备将来使用。 然后我签出master,执行“merge dev”(使用快进)并

我在git存储库的ant构建中发现了一种奇怪的行为。我是这样做的: 我在git存储库中有两个分支,“master”和“dev”,我在最终版本之前提交了所有更改。在几次承诺之后,我发现自己陷入了这样的境地:

*----*---------*-----* dev
|    |         |
|    (commit)  (commit)
master
在dev分支中,我使用ant脚本构建了一个jar,然后将其保存以备将来使用。 然后我签出master,执行“merge dev”(使用快进)并使用相同的脚本再次构建jar文件

如果我尝试将这两个JAR(一个来自开发分支,一个来自“合并”主机)与winmerge进行比较,我会发现一些具有不同内容的类文件


我真的不明白发生了什么,这两个罐子不应该是一样的吗,因为它们是从相同的来源建造的吗?我做错了什么?

根据这个问题

类文件的某些方面取决于源代码的编译顺序


最重要的是:Winmerge会忽略jar文件中的不同时间戳吗?

根据这个问题

类文件的某些方面取决于源代码的编译顺序


最重要的是:Winmerge会忽略jar文件中的不同时间戳吗?

谢谢您的回复。Winmerge提取两个jar文件的内容,并成功标识类文件的不同时间戳。但是,不同的时间戳不会影响类文件之间的比较。也就是说,如果两个类文件相等,但具有不同的时间戳,则它们被标记为相同。感谢您的回复。Winmerge提取两个jar文件的内容,并成功标识类文件的不同时间戳。但是,不同的时间戳不会影响类文件之间的比较。也就是说,如果两个类文件相等,但具有不同的时间戳,则它们被标记为相同。