To start with the Salesforce Source Code repository Management with version controls like Visual Studio Code and GitHub, we need to have certain software installed in our systems.
Visual Studio Code : can be installed in any Macos, Windows and Linux operating system. To install go through the following linkhttps://code.visualstudio.com/ and download it according to your system requirements and install it in your system.
Salesforce CLIm : is a command line interface and helps you to run commands for Salesforce org and work with the metadata and files locally in your system which are retrived from Salesforce org. To install Salesforce CLI go through the following link https://developer.salesforce.com/tools/sfdxcliand select the prefered OS, download it and install.
Extensions contain everything that needed for developing Salesforce applications using Visual Studio Code. Go throughhttps://marketplace.visualstudio.com/items?itemName=salesforce.salesforcedx-vscode and follow the instructions to install Extensions. Once the extensions are installed, Reload Visual Studio Code to finish installation.
To get started with project, click on Command Palatte(ctrl+shift+p) which you can find it in view option and ther are two ways to create a project and develop it.
If you are developing against developer edition, sandboxes etc orgs, you can use the command SFDX: Create Project With Manifest or if you are developing against scratch orgs, you can use SFDX: Create Project Command.
Upon clicking any of the command to create project, it will ask destination folder in your system to save the project locally and you can start woking on your project.
To work with the source or to deploy and retrive source from any org, first you have to authorize it. In Command palatte, click on SFDX: Authorize an org and you will get options like project default - use login URL defined in sfdx-project.json (https://login.salesforce.com/) to work in production org or for sandbox click on https://test.salesforce.com/ or you can enter custom url based on your requirement. You can change the login url in sfdx-project.json file and set sfdcloginurl to required one. In sfdx-project.json file, you can also change destination path.
Once you click on any of the above options, it will ask you to enter Salesforce login username. Upon entering username it will redirect you to the login page and when you login successfully then come back to the visual studio code, it will show you success message like Salesforce Authorized username with org id 1234567890.
Now you can create apex classes, triggers, visualforce pages, components etc in the project. To retrive source from authorized org, Right click on the files in project folder so that you can find a command SFDX: Retrive Source From Org. clcik on it to get source from the authorized org. You will get the components which are mentioned in your package.xml file which you can find in manifest file.
To deploy the modified source code or new one, click on SFDX: Deploy Source to Org command which you will find in the similar way as above. To deploy source to differnet org, logout from the current authorized org and login to the new one to continue.
1. You can deploy or retrive individual files to or from source org.
2. You can't deploy your code to production directly from visual studio code. It can fail sometimes so deploy using packaging or by converting your source code into metadata format.
To start with Source Code Management with Visual Studio Code and GitHub, you must have a basic idea about Git and GitHub.
To get your Source code to GitHub, first you have to stage and commit your code changes in local system. This can be done by hitting on Git: commit and Git: stage cmmands or you can directly see in the source option which will be on the left side bar, when you open it you can see all the changes that you have done to your source code and click on check mark where you will get an option to Stage and Commit all the changes. Upon hitting it, commit changes are saved in your local directory.
Now, the changes have to be pushed to GitHub. To do this, makesure you have a repository created in GitHub.
To Push the changes to GitHub repository, Use command GIT: Clone and add URL( you can find it in your GitHub --> Repository--> Clone or download option and copy it) and hit on enter to connect with that repository. You can check that connection in Visual Studio Code at bottom left corner. Initialize the repository by GIT: Initialize Repository Command and you can work on that repository or you can add it the current workspace you are working on.
Now, you can Push the commited changes in your local to the github by GIT: Pushto the repository which you are currently working on or GIT: Push to command where you can see the option push to origin with the url which you have given for your repository. Upon clicking that option, your source code is published to Github and you can see the changes in Github. To push source code to different branches(you must have a branch created in Github), you can change the branches by clicking on the current repository which you can see in the bottom left corner, upon click select your desired branch or you can create a new one and push your code to that branch.
To Pull source code from GitHub to Visual Studio Code, follow the same process until initialization and click on GIT: Pull command or GIT: Pull the source code from GitHub to your local project from selected repository. To pull code from different branches, hit on GIT: Pull From command where you can get options.
Micropyramid is a software development and cloud consulting partner for enterprise businesses across the world. We work on python, Django, Salesforce, Angular, Reactjs, React Native, MySQL, PostgreSQL, Docker, Linux, Ansible, git, amazon web services. We are Amazon and salesforce consulting partner with 5 years of cloud architect experience. We develop e-commerce, retail, banking, machine learning, CMS, CRM web and mobile applications.
Django-CRM :Customer relationship management based on Django
Django-blog-it : django blog with complete customization and ready to use with one click installer Edit
Django-webpacker : A django compressor tool
Django-MFA : Multi Factor Authentication
Docker-box : Web Interface to manage full blown docker containers and imagesMore...