Cloning the Repository
To work with the project assignments while maintaining your own private repository, you'll need to create a private repository and mirror the public course repository to it.
Prerequisites
Before you begin, ensure you have Git installed on your system:
Windows: Download and install Git for Windows
macOS: Install via Homebrew with
brew install git
or download from git-scm.comLinux: Install via your package manager:
Ubuntu/Debian:
sudo apt-get install git
CentOS/RHEL:
sudo yum install git
Fedora:
sudo dnf install git
Verify Git is installed by running:
git --version
Step 1: Create Your Private Repository
Go to GitHub and create a new repository under your account.
Name it
CSF372_OS_2025_GRP_<X>
whereX
is your group number Example -CSF372_OS_2025_GRP_18
Set the repository visibility to Private.
Skip this step if you already have created a private repo named
CSF372_OS_2025_GRP_<X>
.Add
csf372.ta@gmail.com
as collaborator to your private repository.
Step 2: Mirror the Public Repository
Create a Bare Clone
On your development machine, create a bare clone of the public course repository:
git clone --bare https://github.com/CS-F372-OS/Assignments-2025.git assignments-public-temp
Mirror to Your Private Repository
Navigate to the temporary directory and push to your private repository:
cd assignments-public-temp
# If you pull/push over HTTPS
git push https://github.com/<USERNAME>/CSF372_OS_2025_GRP_<X>.git main --force
# If you pull/push over SSH
git push git@github.com:<USERNAME>/CSF372_OS_2025_GRP_<X>.git main
Replace <USERNAME>
with your GitHub username and <X>
with your group number.
Clean Up
Delete the temporary local clone of the public repository:
cd .. && rm -rf assignments-public-temp
Step 3: Clone Your Private Repository
Clone your private repository to your development machine:
# If you pull/push over HTTPS
git clone https://github.com/<USERNAME>/CSF372_OS_2025_GRP_<X>.git
# If you pull/push over SSH
git clone git@github.com:<USERNAME>/CSF372_OS_2025_GRP_<X>.git
Step 4: Add the Public Repository as Remote
Add the public course repository as a second remote to receive updates throughout the semester:
cd CSF372_OS_2025_GRP_<X>
git remote add public https://github.com/CS-F372-OS/Assignments-2025.git
Verify the remotes are configured correctly:
git remote -v
You should see output similar to:
origin https://github.com/<USERNAME>/CSF372_OS_2025_GRP_<X>.git (fetch)
origin https://github.com/<USERNAME>/CSF372_OS_2025_GRP_<X>.git (push)
public https://github.com/CS-F372-OS/Assignments-2025.git (fetch)
public https://github.com/CS-F372-OS/Assignments-2025.git (push)
Step 5: Disable GitHub Actions (Important!)
To avoid running out of GitHub Actions quota:
Go to your private repository settings
Navigate to Settings > Actions > General
Under Actions permissions, select Disable actions
Pulling Updates
Throughout the semester, you can pull in changes from the public course repository:
git pull public main
Next Steps
Now that you have set up your repository, you can proceed with Setting up Pintos.
Last updated