Git Logo

Goals


- Set up a software configuration solution based on Git

- Manage the versions of the projects of the data warehouse

Program

Source control management (SCM) principles
History, local, centralized and distributed control
How snapshots work, compare with differences
Installation (Linux, MacOS, Windows)
Manual access: man / help
Initial Git configuration: preferences, user profile
Initializing a local repository

Workshop: Installing Git – Creating a project

Concepts, working directory, index and repository
Check the status of the working copy: status
Index your modifications: add
Ignore files: .gitignore
Validate your modifications: commit
Delete and move files

Workshop: contributions and validations

View the modifications: log
Customize the format: stat, pretty,…
Filter by date, author, commit message, modified content, …
View and export a difference (native format, external tool)
Label its validations: light and annotated labels
Search with git-grep

Rewrite the last validation
Deindex a file
Reset a file

Branch principle, the HEAD pointer
Create a branch
Switch between branches, detached mode
Merge branches: fast-forward, three sources
Manage merge conflicts
External merge tool: mergetool (emerge, vimdiff, meld, …)
View the existing branches, those which have been merged
Delete a branch Branch
management strategies: long branch, thematic, …

Remote
repository, remote branches, branch tracking View and inspect remote repositories
Add, rename, remove remote repositories
Pull, push and delete a remote branch

Warning: the dangers of overwriting
Rebase a portion of a branch
When to rebase and when to merge

Check in your work in progress
Create a branch from a delivery
Clean up your working directory

Configure default editor, automatic exclusions, …
Create and use aliases
Graphical tools: Git-Gui, GitKraken, SmartGit, …
Create filters: smudge and clean
Client side hooks: pre-commit, pre-rebase, post-rewrite …
Server side hooks: pre-receive, update, post-receive

Principle of submodules
Declare, pull and update a submodule
Modify and manage conflicts on an external library
Problems with submodules

Protocols: local, HTTP, SSH, Git
Creation of a bare repository, user accounts
Single git user , SSH keys and git-shell
Git daemon

Workshop: Setting up a Git server

A simple and light server: GitWeb
A more complete platform: GitLab
GitLab: user configuration
GitLab: project exploration, activity monitoring, wiki
GitLab: issue manager, web hooks, code review
A turnkey hosted service : GitHub
GitHub: account creation and configuration
GitHub: contribution rules
GitHub: maintenance of a project

Workshop: Retrieving and exploring a GitLab

Git and the Project Lifecycle
Git and Continuous Integration: GitLab Example

Duration

2 days

Price

£ 1272

Audience

Developers

Prerequisites

System administration concepts

Reference

GES705-F

 

Sessions

Contact us for more informations about session date