Source Code Management With SourceGit

SourceGit Git GUI

Live stream set for 2025-05-30 at 14:00:00 Eastern

Ask questions in the live chat about any programming or lifestyle topic.

This livestream will be on YouTube or you can watch below.

Graphical User Interface For Git

Perform Git workflows that streamline your software development process and ensure smooth collaboration.

Use Git source code management (SCM) via a GUI called SourceGit. Commit, merge, add and remove remotes for staging and pushing. More Git commands, AI services, and external tools are supported.

The focus of this tutorial will be on a Git local repository with 2 branches.

  1. View a previously created local repository.
  2. Making changes, staging files, and committing with meaningful messages.
  3. Add a remote repository
  4. Pushing your changes to a remote repository.

Requirements For Using Git GUI

Glossary:

Graphical User Interface allows users to interact with electronic devices through graphic icons and indicators.
Distributed Version Control System

(DVCS) tracks versions of files.

Software Collaboration

Teams working together on projects.

Repository

Project storage space where all changes to files are tracked.

Branch

Enables developers to work on different versions of the project.

Stage

Prepare for a commit by adding files to a staging area.

Commit

Captures staged changes as a snapshot to add to repository’s history.

Clone

Clones a repository into a newly created folder.

Fetch

Fetches branches, tags (refs) from one or mote repositories.

Pull

Incorporate changes from remote repository into current branch.

Push

Updates remote refs using local refs.

References

Refs point to an object name or another ref (symbolic ref).

Merge

Integrates changes from one branch into another.

Rebase

Replay changes from one line of work onto another in the order they were introduced.

Reset

Undo commits that have not been pushed to a remote repository to rewind history without changing local files.

Revert

Undo changes made in a specific commit, by creating a new commit that reverses the changes.

Cherry-Pick

Selectively applying changes from a specific commit (or commits) in one branch to another.

Amend

Modify the most recent commit.

Reword

Change the most recent commit message via git commit --amend.

Remote

Manage set of repositories (“remotes”) whose branches you track.

Tag

Create, list, delete or verify a tag object signed with GPG.

Stash

Save uncommitted changes (both staged and unstaged), for later use, and then reverts them from your working copy.

Diff

Show changes between the working tree and the index or a tree.

Blame

Ignore changes made by the revision when assigning blame, as if the change never happened.

LFS

Git Large File Storage (LFS) replaces large files such as rich media.

Tools

Programming Tools
Name Description Example
Text editor For creating and editing source code Apache Netbeans IDE
SSH Secure Shell Client OpenSSH
Shell Access Access to the command line. Terminal
Git Distributed version control system. Git
SourceGit Graphical user interface for Git. sourcegit
Name Description Example

Create Local Repository

# Create New Project Folder If Applicable #
mkdir localproject
# Enter Project Folder #
cd localproject
# Initialize Local Repository As Working Folder #
git init

Add New File To Local Repository

# Create New File #
echo "Did you know that Ojambo.com has a donate button" > Readme.txt
# Start Tracking A Specific File (Stage) With Git #
git add Readme.txt
# Add A Message And Commit Changes With Git #
git commit -m "Initial Commit"

Create New Testing Branch

# Create New Branch #
git branch testing
# Switch To Testing Branch #
git checkout testing

Create New File Testing Branch

# Create New File #
echo "Did you know that Ojambo.com has live streams" > New.txt
# Start Tracking A Specific File (Stage) With Git #
git add New.txt
# Add A Message And Commit Changes With Git #
git commit -m "Testing file"
# Check Status #
git status

Explanation:

  1. The local repository is created without bare because a working folder is needed.
  2. The add command stages the desired files.
  3. The commit command will record a snapshot.
  4. The status command displays the state of the working folder and staging area.

The remote repository is normally hosted on a remote location and accessed through SSH or a platform-specific method. During the commit, a message that clearly explains the changes made and why they were made helps future developers understand the context.

SourceGit Local Repository
SourceGit Selecting Local Repository

SourceGit Master Branch
SourceGit Displaying Local Repository Master Branch

SourceGit Master Branch Commits
SourceGit Displaying Local Repository Master Branch Commits

SourceGit Testing Branch
SourceGit Displaying Local Repository Testing Branch Checkout


Usage

You can use any IDE or text editor and the command-line or a web browser (if applicable) to run Git commands. For this tutorial, Git was used for source code management. Git is cross-platform compatible (Unix, Linux, MacOS and Windows). Git can be downloaded from git-scm.com.

SourceGit is cross-platform compatible (Unix, Linux, MacOS and Windows). SourceGit can be downloaded from SourceGit

Open Source

Git is licensed under the GNU General Public License Version 2.0. The copyleft license comes with strict rules and requirements to ensure the software remains free and open-source. It allows commercial use, modification, distribution, and allows making derivatives proprietary, consult the license for more specific details.

SourceGit is licensed under the MIT License. The permissive license requires the preservation of the copyright notice and disclaimer. It allows commercial use, modification, distribution, and allows making derivatives proprietary, consult the license for more specific details.

Conclusion:

Git is a popular source code management system. Git is a distributed revision control system because every “working directory” contains the complete history and therefore revision tracking capabilities.

Git can work on remote servers or local machines to push committed changes and clone. SourceGit allows a user to manage Git via a GUI.

If you enjoy this article, consider supporting me by purchasing one of my WordPress Ojambo.com Plugins or programming OjamboShop.com Online Courses or publications at Edward Ojambo Programming Books or become a donor here Ojambo.com Donate

References:

Leave a Reply

Your email address will not be published. Required fields are marked *