2014-11-17 95 views
1

Android Studio建議在構建工作流程中使用gradle包裝器。但是,如果您使用git進行版本控制,那麼.jar文件將被忽略,並且不會被檢入,我會得到這些文件。但是我的工作流程與普通人有點不同。我們也在使用Team Foundation Server和git。 Gradle構建使用自定義的MSBuildTask進行調用。這裏是我的.gitignore文件看起來像:Android Studio使用Git:版本控制中的gradle-wrapper.jar

 
    # Built application files 
    *.apk 
    *.ap_ 
    # Files for the Dalvik VM 
    *.dex 
    # Java class files 
    *.class 
    # Generated files 
    bin/ 
    gen/ 
    # Gradle files 
    .gradle/ 
    build/ 
    # Local configuration file (sdk path, etc) 
    local.properties 
    # Proguard folder generated by Eclipse 
    proguard/ 
    # Log Files 
    *.log 

它目前的工作方式是先拉我們無論是從TFS和我們的git回購到一個共同的位置,那麼我們將二者合併,檢查結果回TFS並將結果推回到git回購。完成後,自定義MSBuildTask被執行,基本上只是調用「gradlew build」。但是,這會失敗,因爲gradle-wrapper.jar文件沒有被推送到git,它被忽略。任何想法如何實現這一目標?先謝謝了!

+0

上面的.gitignore不會忽略包裝文件。問題可能在其他地方。 –

回答

1

正如彼得所說,由於您的 .gitignore文件;我猜想由於位於項目目錄的父目錄中的.gitignore文件導致JAR被忽略。情況會是這樣嗎?

總之,如果是這樣的話,你可以嘗試使用否定在的.gitignore文件,是這樣的:

!**/*.jar 

這樣一來,就可以從一個一個的.gitignore文件來覆蓋規則的父母代表。

+0

這工作!謝謝,新使用git,從未想過使用否定。 – bjohnson

+0

不客氣,喜歡git,這是一個「不錯的合作伙伴」;-) – roomsg

+0

這可能會忽略太多的jar文件。你可能只想使用:!gradle-wrapper.jar(https://devops.datenkollektiv.de/why-did-git-ignore-my-gradle-wrapper.html),但那不行或我。 –