Course Code: gitnlabbspk
Duration: 7 hours
Prerequisites:

Git accounts.

Overview:

-

Course Outline:
  1. Preparation (Before Workshop)
  2. Background
    3.1. Motivation to Consider Git
    3.2. StackOverflow Developers’ Survey
    3.3. What Is Git?
  3. Comparison of Git to 1st Generation, 2nd Generation (SVN), and Mercurial (hg)
    4.1. 1st Generation
    4.2. 2nd Generation (SVN)
    4.3. 3rd Generation (Git)
    4.4. Git vs. Mercurial (hg)
      4.4.1. Differences in Concepts
      4.4.2. Typical Commands (Git vs. hg)
  4. Workflow Basic – Quick Walkthrough - Feature Branches and Merges
    5.1. Outline of Branches
    5.2. Initial Project Setup
    5.3. Add Develop Branch and Push to Remote
    5.4. Create Feature Branch and Push to Remote
    5.5. Create Merge Request and Merge Changes to Develop
  5. Workflow Advanced – Parallel Feature Branches and Rebase Strategy – Hotfix and Releases – Parallel Development
  6. Working with GitLab
    7.1. Issues
    7.2. Milestones
    7.3. Time Tracking
    7.4. Best Practices for Collaboration
  7. Setting Up CI/CD (Continuous Integration and Development) with GitLab
    8.1. Setting Up Runners for a Project
    8.2. Creating GitLab Pipelines
      8.2.1. How to Build .NET Applications
      8.2.2. How to Set Environment Variables
      8.2.3. How to Configure Pipelines to Run Manually and Allow Failures
      8.2.4. How to Check the Logs of Pipelines
      8.2.5. How to Add Code Climate and Static Code Checks
    8.3. Defining Stages and Jobs with .gitlab-ci.yml
  8. File Management
    9.1. Ignore Files with .gitignore
    9.2. Ignore Future Changes with git update-index --skip-worktree
    9.3. Change Saved Execution Mode with git update-index --chmod=+x
    9.4. Keep Empty Folders with .gitkeep
  9. Git Submodules
  10. Big Files
    11.1. Download and Install Git LFS
    11.2. Migrating Already Existing Big Files to LFS
    11.4. Settings on Servers – GitLab
  11. Useful Links
  12. List of Commands
  13. FAQ
    14.1. How to Unstage Files
    14.2. What Are Useful Commands?
    14.3. What Are Best Practices in Planning a Project and Collaborating?
    14.4. What Are Best Practices for Working Locally?
  14. Interviewing Git Experts
    15.1. Commands Expected from More Advanced Git Users: Interview Questions
    15.2. Commands Expected from More Advanced Git Users: Interview Questions – Solutions