2016-05-17 61 views
0

如果我簽出一個分支,不做任何更改,但Gradle完全重建項目,當我去結帳一個不同的分支時,它會給我一個錯誤終端話說變化已對Android Studio Git:必須每次更改分支

modified: .idea/workspace.xml 
modified: app/app.iml 

做,即使我沒有做任何改變,他們在做機器人工作室,並說每次我都以簽出另一個分支提交。 這些變化很重要嗎?我可以刪除/還原或不保存更改?還是每次都必須承諾? 我可以將這兩個文件添加到我的gitignore嗎? 因爲我實際上不知道它做了什麼更改,所以不知道要在提交消息中放什麼。 他們只是在項目設置的變化?我可以不理他們嗎?

+1

如果你讀[這些gitignores](http://stackoverflow.com/q/16736856/2668136 ),這些文件被許多開發人員和IDE自己忽略。這兩個文件是IDE的設置。也許分支之間有一點點變化,但這應該不重要。嘗試在.gitignore文件中忽略它。 – Fllo

回答

1

我見過的答案全部是正確的,但這裏有一個解釋:

Android Studio中需要在構建過程中創建多個文件 - 包括構建本身(apk文件)。這些文件通常是臨時的,並且不需要進行版本控制,但是這些文件對於構建是必要的,並且可能有助於解決問題。

處理此問題的最佳方法是使用.gitignore文件告訴您的回購忽略這些文件。回購不需要跟蹤它們,因爲你不關心這些文件的變化。 Android Studio創建了它們,它可以從您跟蹤的文件中再次創建它們。

你混帳回購協議是有幫助你跟蹤更改,你要麼無法重建或需要重新創建代碼維護的目的文件。這些文件都不屬於這些類別。 (在少數情況下,你可能想跟蹤某些文件的 - 但是,直到你找到一個需要,忽略它們。)

+0

感謝您的回答。我會做的 –

1

您可以忽略app.iml,它始終使用gradle build system進行修改

+0

謝謝,我可以忽略workspace.xml嗎? –

+1

是的,這不是Android的相關文件,你可以刪除它 –

+0

你可能會與你的Android Studio項目的問題,如果你刪除 – davehenry

1

您可以忽略這些更改。他們是Android Studio項目文件。忽略更改最簡單的方法是添加或修改gitignore文件。這個文件會告訴git忽略某些文件或名稱與模式匹配的文件。

+0

感謝球員,我想我要使用git的忽略Fllo建議在他的上述評論。 * .iml .gradle /local.properties /.idea/workspace.xml /.idea/libraries .DS_Store /建造 /捕獲 –

1

使用'git checkout -f - FILE1 FILE2'刪除修改,然後更改分支。如果git抱怨他們,那麼他們已經被追蹤了,而.gitignore也無濟於事。您可以使用'git rm'來停止跟蹤它們。

您可以使用'git checkout -f'刪除所有修改,但請確保沒有源代碼更改。