Version Control & Git

This outline provides an overview of the version control system used for this project and how to interact with it.

Git

This project utilizes Git for version control. This means all changes to the codebase are tracked and can be reverted, compared, and branched.

Key Concepts:

  • Repository: The central location where the project’s files and their history are stored. This repository is hosted on GitHub.
  • Commit: A snapshot of the codebase at a specific point in time. Each commit includes a message describing the changes made.
  • Branch: A separate line of development that allows for independent work on features or bug fixes.
  • Merge: Combining changes from one branch into another.
  • Pull Request: A mechanism for proposing changes to the main branch of the repository.

Common Commands:

  • git clone <repository_url>: Creates a local copy of the repository.
  • git add <file>: Stages changes to be committed.
  • git commit -m "Commit message": Records changes to the local repository.
  • git push origin <branch>: Sends local changes to the remote repository.
  • git pull origin <branch>: Retrieves the latest changes from the remote repository.

Workflow

The development workflow for this project follows a standard Git-based model:

  1. Fork the repository: Create a personal copy of the repository on GitHub.
  2. Create a branch: Create a new branch for your changes.
  3. Make changes: Work on the new branch and commit changes regularly.
  4. Open a pull request: Submit your changes for review by creating a pull request.
  5. Discuss and merge: Collaborate with others to discuss and merge your changes into the main branch.

Examples

The following example shows how to create a new branch, make changes, and commit them:

# Create a new branch
          git checkout -b my-new-feature
          
          # Make changes to files
          # ... 
          
          # Stage changes for commit
          git add .
          
          # Commit changes
          git commit -m "Added a new feature" 
          
          # Push changes to remote repository
          git push origin my-new-feature
          

The following example shows how to open a pull request:

  1. Navigate to your forked repository on GitHub.
  2. Click on the “Pull Requests” tab.
  3. Click on “New Pull Request.”
  4. Select your branch as the “head” and the main branch as the “base.”
  5. Write a clear and concise description of the changes you’ve made.
  6. Click on “Create Pull Request.”

Note: This document only covers basic Git concepts and commands. For more advanced usage, refer to the Git documentation.

Top-Level Directory Explanations

obj/ - Temporary directory that stores compiled intermediate files during the build process.

obj/Debug/ - Temporary directory for debug versions of the compiled intermediate files.

obj/Debug/net6.0/ - Temporary directory for debug versions of the compiled intermediate files for .NET 6.0.