top of page
Search

A Developer’s Guide to ReactOS, Part 2: Cloning with TortoiseGit

The Prologue: The Next Steps


This is part 2 of A Developer’s Guide to React OS: Download, Documentation, and First Fork, where you can follow alongside a walkthrough on how a developer might follow React OS documentation for their recommended steps on How to Set Up A Local Clone using Tortoise Git. Completing this walkthrough allows you to have a local clone with a remote in the upstream, which is the main React OS Repository


React OS documentation for their recommended steps on How to Set Up A Local Clone using Tortoise Git.

First Steps: One Step At A Time


  The first steps looked simple. "Clone https://github.com/<yourusername>/reactos into your computer." But when it says to use TortoiseGit, I wasn't familiar with the software. So I went to Duckduckgo.com in Chrome and searched "TortoiseGit". I went straight to the TortoiseGit website.

TortoiseGit webpage with sections on "About," "Manuals," "FAQ," "Get Support," "Contribute," and "Imprint/Privacy Policy," text in purple.

I navigate to the About page and familiarize myself with a summary of the tools’ functions. TortoiseGit is a Windows Shell Interface to Git. Think of it like a tool your computer uses to help you keep track of changes you make to your project, like creating branches.


Optional: I save the page to my favorites by selecting the star in the toolbar, and save the documentation so that I'm easily able to reference the documentation in the future.


Chrome Favorites Folder titled "Documentation" with an icon below showing "About – TortoiseGit – Windows Shell Interface" and a small tortoise logo.

The First Wizard: TortoiseGit Installation


White text on blue background promoting TortoiseGit. Highlights Git features in Windows Shell. Option to download. Mood: informative.

I select the Download link above, and the link takes me to the landing page for the downloads, where there are multiple options to download. You'll need to check your Systems Settings < About < Device specifications < System type to locate your operating system. I chose the appropriate download link, clicked “open” in the downloads link, and opened the TortoiseGit Wizard. 


TortoiseGit 2.17.0.2 Setup Wizard screen with a tortoise icon and installation message. Buttons: Back, Next, and Cancel.

 I went through and selected the default settings for setup. Meaning, I clicked “Next” until I saw something suspicious. I don’t have any specific configurations in mind, so I’m okay with the regular default settings. I reach a point in the configuration where it suggests I download Git using a link.

 

GIT SCM Installation: Installing Git from TortoiseGit Wizard


  I select the link, and it navigates me to the “Git SCM to Windows”, as displayed below. This path leads me to the Git 2.51.0 Setup. When you select the Download, select Open and set up the Default configuration.  


Text on a grey background reads "We bring the awesome Git SCM to Windows" with blue buttons below labeled "Download" and "Contribute."

I set up the configuration with all the default settings, skimming over the prompts to make sure I don’t select anything that would be hard to revert.  


Download window showing options to open or save files: Git-2.51.0-64-bit.exe and TortoiseGit-2.17.0.2-64bit.msi. White background.

Git setup window displaying GNU General Public License text. Options: Next, Cancel. The mood is informational with a clean layout.

  

Investigation: Choosing Between MinTTY and Windows Console


While breezing through the wizard configuration, I reached a setting that had the word “default” in both descriptions, which confused me.


Git installation setup screen for choosing a terminal emulator: MinTTY or Windows' console window. Options detailed with a "Next" button.

So, I looked up what others had to say when they reached this point. Surely, I wasn’t the only one stumped by with step.    My concerns were simple questions. What’s the difference between the two options? Would it affect my setup drastically? I wanted answers, but also, I wanted to get through this step. I headed over to DuckDuckGo and searched “difference between MinTTY and Windows default console”. Short, sweet, and to the point.


Search results for "difference between MinTTY and Windows default console" on Duck.ai, featuring a summary about MinTTY's features and links to Treehouse and Stack Overflow.

I selected the first link, teamtreehouse.com, and saw that a developer was having a similar concern with setup regarding the two options. There was a reply that gave enough evidence for me to confidently carry on since I am familiar with the Linux command line. I continue with setting up the default configuration. After the Git setup was complete.


Forum post discussing Windows Git terminal options, featuring MinTTY vs. default console. Includes two user comments with advice.

   


Quick Check: Verifying Git Integration in TortoiseGit  


I navigated back to the First Start Wizard - TortoiseGit Wizard. The “Git.exe Path:” appeared in the previously empty field. I select “Check now”, and the git version appears below, and I click next. I enter my name and email, like it asks. Select finish.


Search result showing TortoiseGit app with cartoon turtle logo labeled "Git." White background, simple design, emphasis on the app.

After installation, I search for the application I just installed and select the results. I’m met by an information box explaining the correct use of this tool. Which is to right-click on any folder to access the TortoiseGit commands. Seems easy enough. I go navigate back to the ReactOS Git For Dummies wiki to review my instructions.


Popup message about TortoiseGit explaining it's a shell extension and usage. Includes "OK" and "Help" buttons with blue icons.

  I navigate to my forked repo and clone the repository.


GitHub page showing a clone URL with "HTTPS," "SSH," and "GitHub CLI" tabs. A URL is visible, and a copy button is on the right.

 Then I selected my desktop and right-clicked to reveal a TortoiseGit option. I selected Clone and followed the ReactOS documentation by setting the URL and the directory and selecting okay.   


TortoiseGit interface showing a "Clone Existing Repository" window with URL https://github.com/iamkimbert/Exploring-reactos.git.

A loading screen was then displayed, and the files began updating. It didn’t take long before a Success message appeared, and I clicked the Close button. 

 

Interface showing file update progress with text logs and a completion message. Green progress bar fills screen with the timestamp below.

For the next steps, I would need to access the Command Prompt Window.   


Windows search results for "Command Prompt." Options include opening, running as administrator, and pinning to Start or taskbar.

I copied in “git clone https://github.com/<yourusername>/reactos”.  I replaced <yourusername> with the username for GitHub. Then, I replaced “reactos” with my fork repo name. I then ran the command line by pressing the Enter button.

 

Terminal showing Windows PowerShell. A git clone command is running, with progress on downloading data from a GitHub repository.

 This created a folder in the location you chose. For this demonstration, I chose my desktop, but you can create a proper project folder somewhere on your computer for better organization practices. Following the instructions, I navigated to the TortoiseGit Tool and selected the settings.  


Windows context menu with TortoiseGit options on the right, including Clone, Pull, Push, Sync, and more. Background shows desktop.

From here, I selected “Remote” in the accordion menu on the left side. I set the Remote name as upstream and copied the URL from the ReactOS Documentation. I enter the URL from step 2, click “Add New/Save”, and then at the next prompt select no. 


Git remote settings window displaying fields for URL, Push URL, and others. Text includes "upstream" and a GitHub link. Buttons: OK, Cancel.

 For the last step, I navigated back to the Windows console. I first went to the folder. Then I copied the link from the documentation and replaced it with my information just as we’ve done before. Press enter. For me, nothing happened. So, I pressed the up arrow on my machine to display the last command line I entered, and pressed enter again to then get an error saying the remote named upstream already existed. And then, I had my confirmation. 


Command line interface showing a Git error: "remote upstream already exists" after attempting to add a remote repository.

Successful Installation: Walkthrough Complete


Now, if you have followed along, you should have a local clone with two remotes, origin and upstream, just like ReactOS Git For Dummies suggests. If you want, you can continue to follow along the ReactOS Git for Dummies documentation, as it will demonstrate how you get the latest code set up before starting on a new project. If you missed the last walk-through that showed the first part, where I forked the ReactOS repo to my GitHub repository, follow along here. If you try this walkthrough or if you have any technologies you’re interested in, feel free to drop them in the comments or feel free to reach out. I’d love to have a discussion. As always, Happy Coding!


 
 
 

Comments


bottom of page