<commit_before>---
layout: markdown_page
title: "Demo Script"
---

This demonstration is designed to show customers the highlights of GitLab and the basics of the Gitlab Flow.

## Prerequisites
- Access to a GitLab instance
- Ability to create a project
- If Internet access is available, start at this URL while logged in: https://gitlab.com/

## OVERALL NAVIGATION

### Front page navigation

- Screen areas
 - Left hand navigation bar
  - Top - Open and close navigation bar
  - Upper part - Global navigation
  - Lower part - Currently logged-in user
 - Top navigation - context-sensitive based on selected left hand item  
   -Tasks
 - Upper right area
  - Todos
  - New project
  - Sign out

### Left hand global navigation items

- Projects - list of projects the current user has access to
 - Explain ‘your projects’ ‘starred projects’ and ‘explore projects’
  - Your projects -- projects you have specific access to
  - Starred projects -- projects you have marked as special to you
  - Explore projects -- all projects you have any access to
 - These filters are used throughout the product
- Todos - tasks of note for the current user
- Activity - Recent push events, merge requests, etc.
- Groups - Collections of projects
- Milestones - Organizes issues and merge requests
- Issues - Defect / task tracking
- Merge requests - Equivalent to Github pull request
- Snippets -  shared pieces of code
- Help
- Profile settings

## BASIC PRODUCT DEMO

### Project / GitLab flow
- Ensure you are signed in
- Select ‘new project’
 - Discuss per project settings
 - Name/path
 - Description
 - Import (select / unselect)
 - Visibility levels
- Create project!
- ‘Project created’ screen has many useful things
 - SSH / HTTPS connection information
 - Star / unstar setting
 - Command line access instructions
  - Git setup
  - New repo instructions
  - Repo import instructions
 - Prompt to add ‘README’ file
- Add a ‘README’ file
 - Defaults to branch ‘master’
 - Enter some text
 - Enter a description
 - Commit changes
- View project activity from main project screen via ‘activity’ tab
- Show Project->branches
 - By default master is protected
 - You have to push from another branch
 - GitLab Workflow enforced.
- Select Project->Files  (or Code</>)
- Select README.md and then ‘Edit’
 - Change the file
 - Add a new branchname to the bottom
 - Note the ‘start new merge request’ box -- leave it checked
- Commit changes
 - New branch is created
 - New merge request is created on next screen
- New Merge Request dialog
 - ‘from <branchname> into ‘master’ is displayed
 - Discuss WIP: header
 - Put in a good description
 - Assign to yourself
 - Check ‘remove source branch when merge request is accepted’
 - Submit merge request
- See the branches
- Compare the commits
- Accept Merge Request dialog
 - Make sure ‘Remove source branch’ is checked
 - Write a comment if desired
- Code->Network
 - See network diagram!

## Issues and milestones -- see how they are created, used and closed

- Create issue
 - “Readme needs more detail
- Create another issue
 - License file needs to be created
- Create milestone
 - Add two issues


   Base files for this project need to be created/fixed
   Tag issue #1 and #2  — and user @reb in the milestone
View milestone progress
Update readme file with new information - on temp branch
Attach readme to merge request with issue


## Product differentiations

### vs. BitBucket

- Continuous integration tool - Easy-to-set up, performant, stable and elegant continuous integration with every GitLab installation.
 - Go to a project, select ‘Pipelines’ and then ‘builds’
 - View build status, duration, branch (under ref) and tags
 - Select buildID for more detail (and then use back button)
 - Click on commit and see the diff
  - Inline, side-by-side, comments all available
  - (use back button to go back to builds)
 - Ref is the branch where it is now located and the stage of the build is shown as well - build test or deploy
 - Select “Graphs” then Continuous Integration to see a collection of graphical information on CI
 - Docs for learning more about CI:  http://docs.gitlab.com/ce/ci/

- Integrated issue tracking - GitLab includes an issue tracker which you can link to any merge request.
 - Click Issues at the top of page in www.gitlab.com project
 - Look at Open, Closed or All issues
 - Search by Author, Assignee, Milestone, Label, Weight
 - Open a closed issue and show the communication which occurred while the issue was open.

- Elastic Search - (not installed by default) GitLab leverages the search capabilities of Elasticsearch and enables it when searching in:
 - GitLab application
 - Issues
 - merge requests
 - Milestones
 - Notes
 - Projects
 - Repositories
 - Snippets
 - wiki repositories
 - Details available here: https://gitlab.com/help/integration/elasticsearch.md

- Better activity feed and visualization - Collaborative activity feed to help everyone understand what is happening in a project; graphical view of the commit history.
 - From project page of https://gitlab.com select “commits”
 - Select a commit
  - Look at the history
  - Show ability to make comments in the diff itself.
  - References to Jira ticket #’s in issues and merge requests
  - When the merge happens the Jira ticket will be closed.

- Great user interface - A really clean user interface that your team will love, and also enjoy working with
 - Show left hand navigation menu
 - From https://gitlab.com select a project
 - Note ways to view project data and activity
  - Project, Activity, Code, etc…
  - Project settings (gear)
  - Wiki available - Can be turned on in projects

- More value in a single solution
 - To replace GitLab you’d need licenses for all of these:
  - BitBucket
  - JIRA
  - Confluence
  - Bamboo
- GitLab was developed as a platform
- Above other products were developed separately (some were acquired)



## EE vs. CE
- Reporting
- Workflow Management
- Additional server management options
- Deeper integration with external tools


---

## NOTES:


-- Commit list is GUI equivalent to git log
  -- Revert & Cherry pick a particular commit from commit screen<commit_msg>Fixed md for nested lists<commit_after>---
layout: markdown_page
title: "Demo Script"
---

This demonstration is designed to show customers the highlights of GitLab and the basics of the Gitlab Flow.

## Prerequisites
- Access to a GitLab instance
- Ability to create a project
- If Internet access is available, start at this URL while logged in: https://gitlab.com/

## OVERALL NAVIGATION

### Front page navigation

- Screen areas
 - Left hand navigation bar
     - Top - Open and close navigation bar
     - Upper part - Global navigation
     - Lower part - Currently logged-in user
 - Top navigation - context-sensitive based on selected left hand item  
     - Tasks
 - Upper right area
     - Todos
     - New project
     - Sign out

### Left hand global navigation items

- Projects - list of projects the current user has access to
 - Explain ‘your projects’ ‘starred projects’ and ‘explore projects’
     - Your projects -- projects you have specific access to
     - Starred projects -- projects you have marked as special to you
     - Explore projects -- all projects you have any access to
 - These filters are used throughout the product
- Todos - tasks of note for the current user
- Activity - Recent push events, merge requests, etc.
- Groups - Collections of projects
- Milestones - Organizes issues and merge requests
- Issues - Defect / task tracking
- Merge requests - Equivalent to Github pull request
- Snippets -  shared pieces of code
- Help
- Profile settings

## BASIC PRODUCT DEMO

### Project / GitLab flow
- Ensure you are signed in
- Select ‘new project’
 - Discuss per project settings
 - Name/path
 - Description
 - Import (select / unselect)
 - Visibility levels
- Create project!
- ‘Project created’ screen has many useful things
 - SSH / HTTPS connection information
 - Star / unstar setting
 - Command line access instructions
     - Git setup
     - New repo instructions
     - Repo import instructions
 - Prompt to add ‘README’ file
- Add a ‘README’ file
 - Defaults to branch ‘master’
 - Enter some text
 - Enter a description
 - Commit changes
- View project activity from main project screen via ‘activity’ tab
- Show Project->branches
 - By default master is protected
 - You have to push from another branch
 - GitLab Workflow enforced.
- Select Project->Files  (or Code</>)
- Select README.md and then ‘Edit’
 - Change the file
 - Add a new branchname to the bottom
 - Note the ‘start new merge request’ box -- leave it checked
- Commit changes
 - New branch is created
 - New merge request is created on next screen
- New Merge Request dialog
 - ‘from <branchname> into ‘master’ is displayed
 - Discuss WIP: header
 - Put in a good description
 - Assign to yourself
 - Check ‘remove source branch when merge request is accepted’
 - Submit merge request
- See the branches
- Compare the commits
- Accept Merge Request dialog
 - Make sure ‘Remove source branch’ is checked
 - Write a comment if desired
- Code->Network
 - See network diagram!

## Issues and milestones -- see how they are created, used and closed

- Create issue
 - “Readme needs more detail
- Create another issue
 - License file needs to be created
- Create milestone
 - Add two issues


   Base files for this project need to be created/fixed
   Tag issue #1 and #2  — and user @reb in the milestone
View milestone progress
Update readme file with new information - on temp branch
Attach readme to merge request with issue


## Product differentiations

### vs. BitBucket

- Continuous integration tool - Easy-to-set up, performant, stable and elegant continuous integration with every GitLab installation.
 - Go to a project, select ‘Pipelines’ and then ‘builds’
 - View build status, duration, branch (under ref) and tags
 - Select buildID for more detail (and then use back button)
 - Click on commit and see the diff
     - Inline, side-by-side, comments all available
     - (use back button to go back to builds)
 - Ref is the branch where it is now located and the stage of the build is shown as well - build test or deploy
 - Select “Graphs” then Continuous Integration to see a collection of graphical information on CI
 - Docs for learning more about CI:  http://docs.gitlab.com/ce/ci/

- Integrated issue tracking - GitLab includes an issue tracker which you can link to any merge request.
 - Click Issues at the top of page in www.gitlab.com project
 - Look at Open, Closed or All issues
 - Search by Author, Assignee, Milestone, Label, Weight
 - Open a closed issue and show the communication which occurred while the issue was open.

- Elastic Search - (not installed by default) GitLab leverages the search capabilities of Elasticsearch and enables it when searching in:
 - GitLab application
 - Issues
 - merge requests
 - Milestones
 - Notes
 - Projects
 - Repositories
 - Snippets
 - wiki repositories
 - Details available here: https://gitlab.com/help/integration/elasticsearch.md

- Better activity feed and visualization - Collaborative activity feed to help everyone understand what is happening in a project; graphical view of the commit history.
 - From project page of https://gitlab.com select “commits”
 - Select a commit
     - Look at the history
     - Show ability to make comments in the diff itself.
     - References to Jira ticket #’s in issues and merge requests
     - When the merge happens the Jira ticket will be closed.

- Great user interface - A really clean user interface that your team will love, and also enjoy working with
 - Show left hand navigation menu
 - From https://gitlab.com select a project
 - Note ways to view project data and activity
     - Project, Activity, Code, etc…
     - Project settings (gear)
     - Wiki available - Can be turned on in projects

- More value in a single solution
 - To replace GitLab you’d need licenses for all of these:
     - BitBucket
     - JIRA
     - Confluence
     - Bamboo
- GitLab was developed as a platform
- Above other products were developed separately (some were acquired)



## EE vs. CE
- Reporting
- Workflow Management
- Additional server management options
- Deeper integration with external tools

------


## NOTES:


-- Commit list is GUI equivalent to git log
  -- Revert & Cherry pick a particular commit from commit screen
{'fraction_non_alphanumeric': 0.059979067707914016, 'fraction_numerical': 0.00032203526286128333, 'mean_word_length': 3.2222977566281443, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 13, 'https://': 8, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3106309', 'n_tokens_mistral': 3212, 'n_tokens_neox': 3093, 'n_words': 1711}