What is GIT?

GIT: Basic facts

How does GIT differ from other version control systems?

GIT: Pros & Cons

Places to play

GIT: Generalized workflow

Useful links

GIT in Lycia

GIT is a distributed version control system that allows every developer working on a project have their own working copy with the full history of all changes instead of keeping the project history in one single place.

GIT: Basic Facts

How does GIT differ from other version control systems?

GIT is a version control system that treats data like a stream of snapshots: Every time you commit, GIT takes a picture of what all your files look like at that moment and stores a reference to that snapshot.

Most operations in Git only need local files and resources to operate. In fact, you can go without a remote repository at all.

All the changes made in files or folders are known to GIT. You cannot lose information in transit or get a corrupted file with GIT failing to detect it.

Nearly any action in GIT actually adds data to the Git database: When you commit changes to a file, GIT doesn't replace the 1st version of the file with the 2nd one; it doesn't store both versions of the file either - it "writes down" how the initial file was changed, when, and by whom.

GIT: Pros & Cons

Like any other system, GIT has its positive and negative sides.

 

 

 

 

 

+

The algorithms implemented inside Git are optimized for quick and effective committing, branching, merging, and comparing versions.

 

-

GIT can be difficult to learn.

+

GIT focuses not on the file name but on the content of the file itself.

 

-

With GIT, you do not necessarily need a central, "official" repository.

+

File content as well as the true relationships between files, folders, directories, versions, tags, and commit are secured with a cryptographically secure hashing algorithm SHA1.

 

 

 

+

GIT supports various kinds of nonlinear development workflows.

 

 

 

+

With GIT, operations that affect branches and tags are also stored as part of the change history.

 

 

 

Places to play

With GIT, your files can be in one of three states:

Besides, your files can also be pushed to the remote repository (if you have one).

This means that there are 4 main sections of your GIT project - 3 in your local repository and 1 in your remote repository.

There is also the 5th section in your project - stash area - though we shall not speak about it yet. You can read about stash and stashing here and here.

GIT: Generalized workflow

Definite actions you perform when working on your project depend on your production work flow and development needs.

However, they can still generalized in the form of a simple diagram (given below).

The number of possible workflows is big, so it might be very difficult to choose the correct one when implementing GIT in your team.

However, there are some common ones that can be taken as a starting point:

Here you can read about these four common workflows (includes details and examples).

Useful links

Peter Cottle (formerly, of University of California, Berkeley) has created an interactive online tutorial about GIT branching - it is here:

In this tutorial, you can play with some simple branches, experiment with training commits, test merging and rebasing, etc. The tutorial is very useful for GIT beginners though it uses GIT commands and not IDE.

GIT in Lycia

Lycia supports the full-scale GIT functionality and provides modern and user-friendly tools for working with GIT repositories.

Below you can find the links to pages of this documentation where you can read about how GIT functionality is realized in LyciaStudio.

GIT basic terminology

GIT configuration

Possible GIT workflows

Branching

Creating local branches

Configuring branches

Switching between branches

Renaming branches

Deleting branches

Working with local repositories

What is a local repository?

Creating local repositories

Cloning repositories

Adding local repositories

Importing projects from a local repository to a workspace

Committing

Merging

Rebasing

Stashing

What is a conflict and how to solve them?

GIT status: How to learn all about the current state of your repositories

See the difference: Checkout, reset, and revert

Deleting local repositories

Working with remote repositories

What is a remote repository?

Creating remote repositories (on the example of gitlab.com)

Fetching from a remote repository

Pulling from a remote repository

Pushing to a remote repository

Synchronizing with remote repositories

GIT perspective

GIT Repositories view

GIT Staging view

GIT Reflog view

GIT Tree Compare view

Rebase Interactive view

Package Explorer view

History view

Synchronize view

 

Contact Us

Privacy Policy

Copyright © 2024 Querix, (UK) Ltd.