Gitlab Basics
Like GitHub, GitLab is a web-based repository manager
that lets teams collaborate on code, duplicate code to
safely create and edit new projects, then merge finished
code into existing projects. GitLab is written in the Ruby
programming language and includes a Wiki and issue-
tracking features. It has three separate versions: GitLab
Community Edition (CE), Enterprise Edition (EE), and a
GitLab-hosted version, GitLab.com. It’s got over 700
contributors and is used by major organizations like
Alibaba, NASA, CERN, and more.
GitLab is used by more than 100,000 organizations
https://about.gitlab.com/
Gitlab Advantages
A convenient user interface enables users to
access everything from one screen: projects, latest
projects, users, latest users, groups, and stats.
Settings allow users to control whether a repository is
public or private.
“Snippet support” lets users share small pieces of code
from a project, without sharing the whole project.
Gitlab Advantage
Authentication levels take this security a step further,
allowing users to give people access beyond a read/write
level. For example, you can give a team member access
to issue tracking without having to give them access to
the code itself.
Improved milestones enable you to set milestones at a
group level, not just a developer-specific level.
Developers can get insight into the whole team’s scope
and view the entire project’s milestones, not just their
own.
Gitlab Advantage
Protected branches are a new way to keep code safe.
They allow users to set higher permissions on a project, so
only certain people are able to push, force push, or delete
code in a branch.
With the “Work in Progress” status, developers can label
a project “WIP” to let collaborators know that the code is
unfinished. This prevents it from accidentally getting
merged with other code before it’s finished.
You can attach files like comments to any
communications in GitLab.
Git Overview
Git - A Git is a distributed version control system, it can
be used as a server out of the box. Dedicated Git server
software helps, amongst other features, to add access
control, display the contents of a Git repository via the
web and help managing multiple repositories.
Staging - Staging is a step before the commit process in
git. That is, a commit in git is performed in two steps:
staging and actual commit. As long as a change set is in
the staging area, git allows you to edit it as you like
(replace staged files with other versions of staged files,
remove changes from staging, etc.).
Git Overview
git add . adds all modified and new (untracked) files in
the current directory and all subdirectories to the staging
area (a.k.a. the index), thus preparing them to be
included in the next git commit . Any files matching the
patterns in the .gitignore file will be ignored by git add .
Commit - Basically git commit "records changes to the
repository" while git push "updates remote refs along with
associated objects". So the first one is used in connection
with your local repository, while the latter one is used to
interact with a remote
Git Overview
Pull requests let you tell others about changes you've
pushed to a GitHub repository. Once a pull request is sent,
interested parties can review the set of changes, discuss
potential modifications, and even push follow-up commits
if necessary.
Push - Basically git commit "records changes to the
repository" while git push "updates remote refs along with
associated objects". So the first one is used in connection
with your local repository, while the latter one is used to
interact with a remote repository.
GitLab Software overview
GitLab is a Git-based fully featured platform for software
development.
GitLab Community Edition (CE) is an open source
product, self-hosted, free to use. All GitLab products
contain the features available in GitLab CE. Premium
features are available in GitLab Enterprise Edition (EE).
GitLab Software overview
With an "user-and-newbie-friendly" interface, GitLab
allows you to work effectively, both from the command
line and from the UI itself. It's not only useful for
developers, but can also be integrated across your entire
team to bring everyone into a single and unique platform.
GitLab Flow