Working with Git
Below are some best practices for using Git with Provar.
The following workflow is recommended:
This page contains the steps to complete each one of the following activities. Click on any hyperlink to navigate to the relevant section:
Keep in mind the following best practices when using Version Control:
- Commit changes to Version Control early and often
- Make useful commit messages, which can be referenced against the changes made in the commit
- Have commits reviewed by a peer prior to committing them to the master branch
- Sync other updates regularly from the master branch
- Make regular backups
- Follow a peer review process (see below)
Peer Review is an important process that should be performed regularly during the development of new Test Cases.
A suggested Peer Review process is as follows:
- Review the check-in comments added to Version Control, which should detail the changes made
- Pull the changes to be reviewed from the branch to the local repository
- Perform the peer review
- Once verified, push the changes to the master branch
Cloning Project from Master
Start your work by getting the latest version of the Provar Project from Git. This is done by cloning the Project from the Master branch to your local directory.
Refer to Cloning a Project for steps on how to do this.
Creating a New Branch
Once you have cloned the Project from the remote repository, consider whether you need to create a new branch for your work. This will depend on the workflow your team is following.
In general, you should make updates on a new branch rather than making changes on the Master.
However, it is not always necessary to create a different branch for each tester in your team when working on the same project.
For example, you can also try to co-ordinate your team members to prevent multiple team members updating the same Test Cases at the same time. This will reduce the need to merge changes when syncing.
In general, it is a good idea to make a plan of how many branches are required and how they will be used, rather than creating a new branch for every new team member.
You may need multiple branches if you are testing different versions of the System Under Test (SUT) at the same time. This will allow you to have different views of your Test Cases, depending upon the functionality being tested.
If you are using the Git Plugin for Provar, you can create a new branch from within Provar itself by following the steps below.
To create a new branch, right-click on your Project in the Navigator, then select Team > Switch To > New Branch:
Enter a name for the new branch:
Then click the ‘Finish’ button.
This will create the branch on your local directory. It will then need to be pushed to the remote repository. To do this, right-click on the Project again and select ‘Team > Push Branch ‘BranchName’…’:
The following screen will appear:
Click the ‘OK’ button to confirm the push.
Once this is complete, you can begin working normally in Provar. Once you have completed your changes in Provar and want to push your work back to the remote repository, move on to the next section.
Synchronizing a Project
Before pushing any work back to the remote repository, it is a good idea to synchronise your Project in case any changes have been made since your Project was cloned. Doing this before pushing changes to the repository will reduce the effort needed to resolve conflicts later.
To synchronize your Project using the Git Plugin, right-click on the Project and select ‘Team > Synchronize Workspace’:
This will open a ‘Synchronize’ tab in the lower-right corner of Provar Desktop:
Once this has completed, you can double-click on any updated files to confirm the changes.
Making Commits and Pushing to Git
Once you are ready to commit and push your changes to Git, right-click on the file or files you want to push and choose ‘Commit’:
In the ‘Please identify yourself’ window, review the details entered and then click the ‘OK’ button:
On the Commit Changes screen, enter a ‘Commit message’ and select the files that you want to push by ticking them:
Then click the ‘Commit and Push’ button.
On the next screen, choose your branch (this should be the one that you created earlier to store your work):
Then click the ‘Next’ button.
If a ‘Login’ screen appears, enter your Git account details:
Then click the ‘OK’ button.
Review the Push Confirmation window which appears:
Confirm by clicking the ‘Finish’ button.
Merging to Master Branch
To merge code into the Master branch, go to your GitHub repository in a browser.
Go to your Branch and click on ‘New pull request’:
Confirm the changes and click on ‘Create Pull Request’:
If you have access, you will be prompted with the option to merge pull request.
Click on ‘Files Changed’, review the files, then click the ‘Review changes’ dropdown:
To approve, enter any summary comments as wanted, then choose the ‘Approve’ radio button and click ‘Submit review’:
Then click the ‘Merge pull request’ button:
Then click the ‘Confirm Merge’ button:
The following success message should display:
Other Pull Request can be created in the same way for other branches.
While working on separate branches and merging the code, you may face some conflicts related to Test Cases and Page Objects added to the branch that conflicts with code already present on the master branch.
For example, after creating creating a Pull Request for your branch, you may see the following message:
To resolve the conflict, click the ‘Resolve Conflict’ button on the message, then analyze the difference in the files.
Update/Remove the code that conflicts and click on ‘Mark as resolved’:
Once all conflicts have been resolved, commit the merge:
Then merge the branch to master: