Git in SCM Workbench - User Guide

User guide for the Source Control Mangement (SCM) Workbench.

User Guide Sections

Table of Contents

Git Project settings

Git Project Settings

Name

The name of the project can be changed by editing the "Name" field. You must pick a name that is not in use by another project.

Name and Email address for commits

Git needs your name and email address for each commit you make.

The Git Global config user.name and user.email is used unless overridden by the Repository local config user.name and user.email.

Git Menus

Git menus.

Menu: Git Information

Diff HEAD vs. Working

Show the differences between the selected files and the HEAD version. In other words show the work you have done.

Diff Window

Diff Staged vs. Working

Show the differences between the selected files and the Staged versions. In other words show the work you have done since Staging.

Diff HEAD vs. Staged

Show the differences between the selected files and the Staged versions. In other words show the work that will be in the next commit.

Annotate

Show an annotated listing of the selected file showing the origin of each line in the file. For each line the author, date and revision is listed.

Git Annotate

Use this command to discover when a line of interest was introduced into a file with the commit details.

Status

Show the state of the local repository.

Commit history

List the commit log of the selected files or folder. You can choose to show all the commit messages, the last few messages or the messages between some dates.

Commit log history options

The Commit Log window shows an abbreviated listing of all the commit messages. Select a commit to display the full log message and the changed paths.

Commit History Window
Exploring the history

By selecting a single commit you can click the Diff button to view the differences between your copy of the file and the choosen commit.

By selecting two commits you can click the Diff button to view the differences between the pair of selected commits.

By selecting a file in the CHanged Files list you can click the Diff button to show the differences in that one file for the selected commit.

Rebasing the commit history

Unpushed commits are drawing in purple and may be rebased.

The rebase options are availble from the context menu (right-click menu).

There are three rebase operations supported:

The Rebase dialog shows the rebase commands that will be executed.

Rebase reword dialog

For the Reword and Squash options a new commit message can be edited.

If Git cannot perform the rebase the errors are shown in the main windows message panel and the errors are also shown in a pop up dialog.

Menu: Git Actions

Stage

Stage the selected files so that they will be part of the next commit.

Unstage

Unstage the selected files so that they will not be part of the next commit.

Revert…

The Revert command allows you to undo additions and modification to files.

Added files are left as uncontrolled files. Edits to modified files are lost after a Revert.

A dialog pops up to confirm the revertion.

Rename…

The Rename command can work on controlled and uncontrolled files.

Pop up a dialog that allows you to change the name of the selected files and folders.

Delete…

The Delete command can work on controlled and uncontrolled files.

Uncontrolled files are deleted. Controlled files are scheduled for deletion for the repository.

A dialog pops up to confirm the deletion.

Commit

New Commit Window

You can also use commands from this window like Edit, Open, Diff and Log History to confirm that the changes are as you expect and help you write a suitable log message.

The commit will only be allowed if there are changes and the Commit Log Message is filled in.

Push

Push all local commits that are not in the remote repository.

The message window shows the abbreviated commit message of all the commits that are being pushed.

Pull

Pull all commits from the remote repository that are not available locally.

The Git Prefences allow you to select between using git rebase --merge and git pull --rebase.

The message window shows the abbreviated commit message of all the commits that have been pulled.