Orion/Documentation/User Guide/Reference/Git Status page
- 1 Git Status page
- 1.1 Types of changes
- 1.2 Comparing changes
- 1.3 Staging changes
- 1.4 Reverting an unstaged change
- 1.5 Reverting a group of unstaged changes
- 1.6 Resetting all changes from the index
- 1.7 Unstaging changes
- 1.8 Committing changes
- 1.9 Recent commits area
Git Status page
The Git Status page provides a summary of the current state of a Git clone associated with your Orion account. This page shows changes in your working tree, staged changes that are ready to commit, and a summary of commits in the active branch.
Types of changes
Typically, there are three types of changes: adding, changing and deleting. The types of changes are indicated by icons on the left of the files.
Files with conflicting changes will have additional annotations.
To view the code diff for a particular change, you can use the twistie icon next at the left of the change to open the diff. From there, you can traverse the changes using the commands above the diff. You can also open a separate Compare page by clicking the Side by side compare button. The compare page allows you to merge changes or perform further edits on your uncommitted changes.
You can also use the expand and collapse buttons at the top of the Unstaged and Staged sections to open and close all of the diffs in the list at once.
Before you can commit a file in Git, it must be added to your local index. This process is called staging, or Git add. Changes are selected by clicking on one or more (with Ctrl+Click) changes and then clicking the Stage button at the top of the unstaged list.
When the changes are staged, the files will be moved to the Staged area.
Reverting an unstaged change
Suppose you have made a change in your working copy that you want to discard. You can discard a change by selecting one or more files that you wish to revert and performing a checkout of the file contents from your local index.
Clicking on the action pops up the confirmation dialog. Click OK to restore the change from the index or Cancel to cancel the action.
Reverting a group of unstaged changes
You can also discard a group of changes. From the top-right corner of the unstaged area, you can click on the Checkout action to check out all selected changes.
Resetting all changes from the index
You can also reset all the unstaged and staged changes by clicking on the Reset from the page action.
A confirmation dialog pops up when you click on the action. Click OK to reset the changes from the index or Cancel to cancel the action.
If you decide you don't want to commit a change, but want to continue working on it, you can remove it from your index by unstaging it. From the top-right corner of the staged area, you can click on the unstage all action to unstage all selected changes or just unstage changes one by one.
Once changes are staged, you can use actions in the commit area to commit all staged changes. The commit button is disabled if there is no message in the commit message, so you have to input the message before you commit the changes. The Amend check-box is used to amend the last commit.
Recent commits area
There are 2 recent commits areas in the git status page. The top one represents the recent commits from the local branch while the bottom one represents the remote tracking branch. Both areas have 5 most recent commits respectively. You can perform fetch, merge and push actions here, which are also available in the Log page. Clicking on the Complete log navigates to the Log page with local or remote mode. There you can refer to the details of the commits.
Fetch from remote branch
Click on the first action icon Fetch from the remote tracking branch area to fetch all the recent commits. All the incoming changes are highlighted as shown above.
Merge from remote branch
Click on the second action icon Merge from the remote tracking branch area to merge all the recent commits to the local branch.
Push to remote branch
Once commits from remote branch are merged, click on the action icon Push from the local branch area to push all the recent commits to the remote tracking branch. The recent commits on the 2 areas are synchronized as shown below.