ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

Beginner's Guide to TortoiseGit

Updated on August 19, 2014
Source

Introduction

Git is a version control system for large software projects. Version control is a method by which versions of software are uploaded to a remote server, which can then be accessed by other team members. People who are working on the project can upload their chances, and download the changes made by other people. It is a fast and convenient way of multiple people working on a project on multiple machines, and most large software companies use version control. Git is one of the most popular, but other version control systems include Subversion and Vesta (among others).

Common Terminology

Below is a list of words that you will hear when discussing version control and using version control software - it is best you familiarize yourself with them so that you are not left stumbling over the right words to use!

Checkout - to create a working copy on your local machine from the version online; to take changes from the server

Commit - to put changes onto the server

Merge - to apply two or more sets of changes to one file, e.g. if two people have edited the same file

Trunk - the main 'branch' of development. You can 'branch' off the trunk to create different versions of the same project (for example if you were developing a game, you might have a PC branch and a console branch)

Conflict - when the system is unable to reconcile two or more changes made by different people to the same document, a conflict occurs. Conflict resolution is built into git.

Head - the most recent revision (commit)

Repository - the online location, e.g. server, where the files are stored remotely

Update - to get changes from the server to your local machine, when a full checkout is not needed

Git also has some specific terms, which you should be familiar with:

Clone - the same as 'checkout', to clone is to make a local copy of the repository on your machine

Pull - to get changes from the server (like update)

Push - to put changes onto the server (similar to commit, although git also uses 'commit' so don't get confused!)

The Software You'll Need

In case you haven't already gotten started with git, you'll need a few things:

  • A github account or similar
  • The git software
  • TortoiseGit for Windows

Github

github, available here, is basically server space for you to store your software on (it is a repository service). Accounts are free, but if you want the repository to be private there is a small fee payable. There are other services which offer repositories, but I've found github to be the best.

Git software

Git, available here, is the software you'll need to work with github and TortoiseGit. It is a version control system, free to use (it is open source), and the best version control system in my opinion. Just click through the installation, you don't need to set up anything special.

TortoiseGit

TortoiseGit makes working with git in Windows an easy task! Downloadable here, it adds stuff to the Windows shell (don't worry about what that means!) to allow you to interact with git without having to memorise a bunch of command line tools.

Install all the software you need, and you're ready to get going!

Creating a Repository on github

When you sign into github, you'll be presented with a dashboard. In the bottom right-hand corner, there will be a button for creating a new repository. Click that.

Give your repository a name, decide if you want it to be public or private (private repositories come at a small fee), and check the box for creating a Readme.

Congratulations, you've just created a repository!

Source

Creating a Working Copy

You're now ready to start using TortoiseGit.

TortoiseGit adds commands to the Windows shell, which means that you don't actually run TortoiseGit itself like you would a standalone program - instead, right click on your Desktop (or wherever you want to create your working copy) and click the option in the drop-down menu for 'git Clone'.

That will bring up a box which you'll need to fill in the details for. Put the name of your repository in the url bar (i.e. http://www.github.com/yourrepositorynamehere) and click OK.

The system will then checkout your repository to your local machine. Well done, you just created a working copy!

Click the 'git Clone' option
Click the 'git Clone' option | Source
Fill in the details as shown
Fill in the details as shown | Source

Making Changes

Feel free to add some files to the working copy. These will stay local on your machine until you commit the changes.

To commit the changes, right-click on the folder that the working copy is in, and select "git Commit -> Master".

This will bring up another menu. Check the files you want to commit, add a log message (let other people know what you've changed!), then press OK.

On the next screen, wait until the progress bar has finished then click 'Push' to send your changes to the repository.

Don't forget to click 'Push' to send your changes!
Don't forget to click 'Push' to send your changes!

Getting Changes

Before you start any work, even if working alone, it's good practice to 'Pull' changes from the repository before you begin working. To do this, right-click on the folder and click "Git Sync".

At the bottom of that screen you'll have a variety of options, you want to click 'git Pull'.

This will ensure you get all changes from the repository before you start working, and saves you having to reconcile conflicts later down the line!

Hit 'Pull' to get changes from the repository to your working copy
Hit 'Pull' to get changes from the repository to your working copy

Comments

    0 of 8192 characters used
    Post Comment

    No comments yet.

    working

    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: https://hubpages.com/privacy-policy#gdpr

    Show Details
    Necessary
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
    Features
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Marketing
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Statistics
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)