Commit local changes
When you make changes in a data model, or in any other file, and if you (auto-)save these changes, you see a badge popping up on the icon of the repository view in the left bar. This badge is a reminder that you still need to commit your changes in your local repository, and to push them to the remote repository.
When you open the repository view while having uncommitted changes, you see the number of modified files next to the menu entry "Commit local changes". That counter is colored, the intent being to remind that you need to commit your changes before pushing them. Remember that a same commit can include changes made in multiple files.
Click on "Commit local changes" to list actions that are related to local changes. The primary action - "commit" in this case - has a blue header. If secondary actions are available, they have a grey header if they are not destructive, and a red header otherwise.
You can show the sequence of Git commands executed by Hackolade Studio, if you are familiar with the Git command line interface and want to better understand what happens under the hood,
Prior to committing your changes, you must provide a commit message. The best practice is to write a meaningful but concise description of what you changed and why.
Some people checkout a new branch prior to making changes. Other people first make some changes, and then checkout a new branch prior to committing them. That's why there is also a Branch drop-down within the commit action. It behaves exactly like the Branch drop-down in the top bar.
As soon as your changes are committed, Hackolade Studio checks if there are commits to pull from the remote repository. If so, the application opens the pane to pull them. If there are no remote commits, or once they have been pulled, Hackolade Studio opens the pane to push your local commits. This behavior is similar to a wizard - commit > pull > push - but our user interface also offers the ability to trigger every action independently, and on demand.
Prior to committing your changes, you might want to review them. By pressing the "Review changes" button, you can display a side-by-side comparison for each modified model with its first parent. If you have multiple models, you may review them one at a time, using the controls at the bottom left of the dialog.
To exclude some modified models from your commit, simply uncheck the checkbox "Commit all changes". Then use the middle controls to move model files from the "Commit now" pane to the "Commit later" pane, or back. You may then proceed with your Commit action.
Temporarily shelve your uncommitted changes for later reuse, so you can work on something else in the meantime.
Imagine that you are busy working on a data model. You made some changes but they are not ready to be committed yet. For one reason or another, you now need to put your work on hold and switch to another task, potentially on a different branch of the repository. You don't want to discard your changes but you don't want to commit them either. You just want to park your changes and re-apply them later when you start working on this task again. That's exactly what the STASH action is meant for. You may stash away your uncommitted changes, then re-apply them at a later stage.
When stashing your changes, you should provide a description. Doing so will make it easier for you to find your changes, knowing that you can create multiple stashes containing different change sets. You also have the option to stash all your changes or to cherry-pick some files only.
Like the DISCARD action, the STASH action will cancel your changes. Unlike the DISCARD action, it will save them for later reuse. You can find them back via the left menu, by clicking on "Stashes".
See instructions to apply stashed changes.
You may decide that the changes previously saved but not yet committed, should not be committed after all, and should be discarded instead. A warning dialog requests that you confirm the action:
To exclude some modified models from being discarded, simply uncheck the checkbox "Discard all changes". Then use the middle controls to move model files from the "Keep changes" pane to the "Discard changes" pane, or back. You may then proceed with the Discard action.