Version Control

Version control, also known as source control, is the practice of tracking and managing changes to software code. Version control systems are software tools that help software teams manage changes to source code over time.
Version control software keeps track of every modification to the code in a special kind of database. If a mistake is made, developers can turn back the clock and compare earlier versions of the code to help fix the mistake while minimizing disruption to all team members.

Some benefits of using version control systems:

  1. A complete long-term change history of every file. This means every change made by many individuals over the years. Changes include the creation and deletion of files as well as edits to their contents.
  2. Branching and merging. Having team members work concurrently is a no-brainer, but even individuals working on their own can benefit from the ability to work on independent streams of changes.
  3. Traceability. Being able to trace each change made to the software and connect it to project management and bug tracking software and being able to annotate each change with a message describing the purpose and intent of the change can help not only with root cause analysis and other forensics.

Git

The Version Control Systems that we are going to use is Git, which will be assosiated with the gitlab account that was provided by the FabLab BH.

To be able to use git, we need to download and install git in our pc first.

And if everything went successfully, we will be able to see these options when right-clicking in any folder

The Git Dash codes I used most:
  • git status
    Displays the state of the working directory and the staging area.
  • git add .
    Stage all changes for the next commit.
  • git commit -m "comment"
    A shortcut command that immediately creates a commit with a passed commit message.
  • git branch
    List all of the branches in your repo. Can be used to create new branches.
  • git push
    A command to upload local repository content to a remote repository
  • git pull
    Git command used to update the local version of a repository from a remote repository
For a good Git cheat sheet click here.

Access Files from remote repository in your local IDE (e.g. Atoms)

  1. Copy the HTTP link from gitlab.
  2. Go to folder that you want to save your project file in, click right-click, and select "Git Bash Here".
  3. In Git Bash, write "git clone" and paste the HTTP link that was copied from gitlab.
  4. In your IDE (in this case atom), click on "File" and choose open Folder and choose the Project Folder.
If any changes were made in the remote repo, the local repo can be updated by clicking "Fetch" on the bottom right corner of the UI.

Updating Files from Local PC to remote repository (using atom)

  1. click on the git button in the left bottom of the IDE.
  2. Click on stage all.
  3. Write the comment message and click "commit to master".
  4. Finaly, click on the "Push" button to push the changes to remote repo.