回答
基於斷nerdyworm's rename.sh,使用ack
我已經適應它使用git grep
和MACOS輕鬆運行。
•OTP名稱:應用程序的蛇例(snake_case)名稱。
•名稱:常規應用程序名稱。
$ git grep -l $CURRENT_OTP | xargs sed -i '' -e "s/$CURRENT_OTP/$NEW_OTP/g"
$ git grep -l $CURRENT_NAME | xargs sed -i '' -e "s/$CURRENT_NAME/$NEW_NAME/g"
$ mv lib/$CURRENT_OTP lib/$NEW_OTP
$ mv lib/$CURRENT_OTP.ex lib/$NEW_OTP.ex
我不知道任何方式與完美的精度自動做到這一點,但這些都是我手動跟隨當我需要重新命名鳳凰城項目的步驟。
下面的命令假設你的代碼是在git
回購和舊的應用程序是my_app
/MyApp
和新的my_new_app
/MyNewApp
。這個過程很脆弱 - 如果你的應用程序或模塊名稱可能出現在很多地方(例如它是一個字母A
或其他),那麼這將不起作用。
# search replace both the application name and module name in all files indexed by git
$ git ls-files -z | xargs -0 perl -p -i -e 's/my_app/my_new_app/g; s/MyApp/MyNewApp/g;'
# rename `lib/my_app`
$ mv lib/my_app lib/my_new_app
之後,我運行mix test
並修復了所有編譯錯誤或測試失敗。
最後,我做的git diff
快速審查,以確保一切權利。
'lib/my_app.ex'沒有被模式捕獲(文件名,而不是文件內容) – jaysoifer
我使用這種方法,它運行良好,但我也遇到了@jaysoifer提到的問題 - 這很容易儘管如此,足以解決這個問題。 – skwidbreth
- 1. 如何重命名nodejs項目?
- 2. 如何在XCode中重命名項目?
- 3. 如何重命名xcode項目文件
- 4. 如何重命名我的項目?
- 5. 如何在Xcode中重命名項目?
- 6. Android Studio重命名項目
- 7. PowerShell重命名 - 項目
- 8. 重命名團隊項目
- 9. iOS重命名項目
- 10. 如何重命名目錄?
- 11. 重命名 - 項目更名問題
- 12. Visual Studio多項目模板重命名命名空間和項目名稱
- 13. 如何在Xcode 4.x的重命名項目名稱
- 14. 如何在eclipse中重命名/重構整個libgdx/java項目
- 15. 重命名文件順序
- 16. 重命名項目文件夾而不更改項目名稱?
- 17. 項目命名
- 18. 在TreeCtrl中重命名項目
- 19. TFS:重命名項目後檢入
- 20. 無法重命名項目TortoiseSVN&Subversion
- 21. 在iOS 4重命名項目
- 22. 保護項目免於重命名
- 23. 重命名Visual Studio .NET 2008 C++項目
- 24. 在Netbeans中重命名Grails項目
- 25. 重命名Xcode項目後的警告
- 26. 在Visual Studio中重命名項目
- 27. Xcode - 重命名項目導致問題
- 28. 重命名Telerik報告圖例項目
- 29. 在Android Studio中重命名項目
- 30. 在Xcode 4.2中重命名項目
我通常只是做'MyNewApp',MyApp'的'搜索替換'my_app'用'my_new_app',重命名'LIB/my_app'到'的lib/my_new_app',檢查它是否仍然編譯和最後手動檢查'git diff'。 – Dogbert
@RomanPerekhrest不負責重命名代碼中的應用程序和內部引用。 – jaysoifer
@Dogbert你會不會明確地顯示你正在使用的命令? – jaysoifer