How to manage erpnext customizations [version control]

When multiple people in the team are making customizations to the erpNext, like adding custom scripts, changing UI forms and fields etc. How to manage them in source control and stay in sync?

I understand if we have a custom app then it is straight forward. But how do i manage changes done to the UI. One way is to take back up of db and the fixtures and import them in the server. but by this i am not able to achieve version control and stay in sync with other developers in the team?

Please suggest your ideas in solving this issue.

Thanks

Use git

Hi Pawan,

using git and maintaining my own local version of erpnext? By this i will not be able to upgrade to latest versions of erpnext right?

I wanted to know the same thing

It depends what you do with customizations, if you are using custom client or server scripts, custom fields, print formats, these are upgradable but if you modify core files you may have to maintain them separately.

Now imagine inside apps/erpnext where I’m just making changes in HTML files to arrange them and change the template little bit, how can I store and I’ll always want to upgrade with new version too.

For maintaining upgrades across version upgrades, the correct approach is usually to create a custom app. The precise way to do this depends on the type of customization you need to maintain. HTML templates are quite simple and can be overridden simply by having a copy of the appropriate file in your app’s template directory.

https://frappeframework.com/docs/user/en/basics/apps