Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'doc/university/training/user_training.md')
-rw-r--r--doc/university/training/user_training.md346
1 files changed, 4 insertions, 342 deletions
diff --git a/doc/university/training/user_training.md b/doc/university/training/user_training.md
index e9cca233d6f..fa870b151b2 100644
--- a/doc/university/training/user_training.md
+++ b/doc/university/training/user_training.md
@@ -1,346 +1,8 @@
---
-stage: none
-group: unassigned
-info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
-comments: false
-type: reference
+redirect_to: '../../topics/index.md'
---
-# GitLab Git Workshop
+This document was removed. See our [topics](../../topics/index.md) for similar content.
-## Agenda
-
-1. Brief history of Git.
-1. GitLab walkthrough.
-1. Configure your environment.
-1. Workshop.
-
-## Git introduction
-
-<https://git-scm.com/about>
-
-- Distributed version control.
- - Does not rely on connection to a central server.
- - Many copies of the complete history.
-- Powerful branching and merging.
-- Adapts to nearly any workflow.
-- Fast, reliable and stable file format.
-
-## Help
-
-Use the tools at your disposal when you get stuck.
-
-- Use '`git help <command>`' command.
-- Use Google.
-- Read documentation at <https://git-scm.com>.
-
-## GitLab Walkthrough
-
-![fit](logo.png)
-
-## Configure your environment
-
-- Windows: Install 'Git for Windows'
-
-> <https://gitforwindows.org>
-
-- Mac: Type '`git`' in the Terminal application.
-
-> If it's not installed, it prompts you to install it.
-
-- Debian: '`sudo apt-get install git-all`' or Red Hat '`sudo yum install git-all`'
-
-## Git Workshop
-
-### Overview
-
-1. Configure Git.
-1. Configure SSH Key.
-1. Create a project.
-1. Committing.
-1. Feature branching.
-1. Merge requests.
-1. Feedback and Collaboration.
-
-## Configure Git
-
-One-time configuration of the Git client:
-
-```shell
-git config --global user.name "Your Name"
-git config --global user.email you@example.com
-```
-
-## Configure SSH Key
-
-```shell
-ssh-keygen -t rsa -b 4096 -C "you@computer-name"
-```
-
-```shell
-# You will be prompted for the following information. Press enter to accept the defaults. Defaults appear in parentheses.
-Generating public/private rsa key pair.
-Enter file in which to save the key (/Users/you/.ssh/id_rsa):
-Enter passphrase (empty for no passphrase):
-Enter same passphrase again:
-Your identification has been saved in /Users/you/.ssh/id_rsa.
-Your public key has been saved in /Users/you/.ssh/id_rsa.pub.
-The key fingerprint is:
-39:fc:ce:94:f4:09:13:95:64:9a:65:c1:de:05:4d:01 you@computer-name
-```
-
-Copy your public key and add it to your GitLab profile:
-
-```shell
-cat ~/.ssh/id_rsa.pub
-```
-
-```shell
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQEL17Ufacg8cDhlQMS5NhV8z3GHZdhCrZbl4gz you@example.com
-```
-
-## Create a project
-
-- Create a project in your user namespace.
- - Choose to import from **Any Repository by URL** and use <https://gitlab.com/gitlab-org/training-examples.git>.
-- Create a '`development`' or '`workspace`' directory in your home directory.
-- Clone the '`training-examples`' project.
-
-## Commands (project)
-
-```shell
-mkdir ~/development
-cd ~/development
-
--or-
-
-mkdir ~/workspace
-cd ~/workspace
-
-git clone git@gitlab.example.com:<username>/training-examples.git
-cd training-examples
-```
-
-## Git concepts
-
-### Untracked files
-
-New files that Git has not been told to track previously.
-
-### Working area
-
-Files that have been modified but are not committed.
-
-### Staging area
-
-Modified files that have been marked to go in the next commit.
-
-## Committing
-
-1. Edit '`edit_this_file.rb`' in '`training-examples`'.
-1. See it listed as a changed file (working area).
-1. View the differences.
-1. Stage the file.
-1. Commit.
-1. Push the commit to the remote.
-1. View the Git log.
-
-## Commands (committing)
-
-```shell
-# Edit `edit_this_file.rb`
-git status
-git diff
-git add <file>
-git commit -m 'My change'
-git push origin master
-git log
-```
-
-## Feature branching
-
-- Efficient parallel workflow for teams.
-- Develop each feature in a branch.
-- Keeps changes isolated.
-- Consider a 1-to-1 link to issues.
-- Push branches to the server frequently.
- - Hint: This is a cheap backup for your work-in-progress code.
-
-## Feature branching steps
-
-1. Create a new feature branch called 'squash_some_bugs'.
-1. Edit '`bugs.rb`' and remove all the bugs.
-1. Commit.
-1. Push.
-
-## Commands (feature branching)
-
-```shell
-git checkout -b squash_some_bugs
-# Edit `bugs.rb`
-git status
-git add bugs.rb
-git commit -m 'Fix some buggy code'
-git push origin squash_some_bugs
-```
-
-## Merge requests
-
-- When you want feedback create a merge request.
-- Target is the 'default' branch (usually master).
-- Assign or mention the person you would like to review.
-- Add `[Draft]` to the title if it's a work in progress.
-- When accepting, always delete the branch.
-- Anyone can comment, not just the assignee.
-- Push corrections to the same branch.
-
-## Merge requests steps
-
-Create your first merge request:
-
-1. Use the blue button in the activity feed.
-1. View the diff (changes) and leave a comment.
-1. Push a new commit to the same branch.
-1. Review the changes again and notice the update.
-
-## Feedback and Collaboration
-
-- Merge requests are a time for feedback and collaboration.
-- Giving feedback is hard.
-- Be as kind as possible.
-- Receiving feedback is hard.
-- Be as receptive as possible.
-- Feedback is about the best code, not the person. You are not your code.
-
-## Feedback and Collaboration resources
-
-<!-- vale gitlab.Spelling = NO -->
-
-Review the Thoughtbot code-review guide for suggestions to follow when reviewing merge requests:
-<https://github.com/thoughtbot/guides/tree/master/code-review>.
-
-<!-- vale gitlab.Spelling = YES -->
-
-See GitLab merge requests for examples: <https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests>.
-
-## Explore GitLab projects
-
-![fit](logo.png)
-
-- Dashboard
-- User Preferences
-- README, Changelog, License shortcuts
-- Issues
-- Milestones and Labels
-- Manage project members
-- Project settings
-
-## Tags
-
-- Useful for marking deployments and releases.
-- Annotated tags are an unchangeable part of Git history.
-- Soft/lightweight tags can be set and removed at any time.
-- Many projects combine an annotated release tag with a stable branch.
-- Consider setting deployment/release tags automatically.
-
-## Tags steps
-
-1. Create a lightweight tag.
-1. Create an annotated tag.
-1. Push the tags to the remote repository.
-
-Additional resources: <https://git-scm.com/book/en/v2/Git-Basics-Tagging>.
-
-## Commands (tags)
-
-```shell
-git checkout master
-
-# Lightweight tag
-git tag my_lightweight_tag
-
-# Annotated tag
-git tag -a v1.0 -m 'Version 1.0'
-git tag
-
-git push origin --tags
-```
-
-## Merge conflicts
-
-- Happen often.
-- Learning to fix conflicts is hard.
-- Practice makes perfect.
-- Force push after fixing conflicts. Be careful!
-
-## Merge conflicts steps
-
-1. Checkout a new branch and edit `conflicts.rb`. Add 'Line4' and 'Line5'.
-1. Commit and push.
-1. Checkout master and edit `conflicts.rb`. Add 'Line6' and 'Line7' below 'Line3'.
-1. Commit and push to master.
-1. Create a merge request.
-
-## Merge conflicts commands
-
-After creating a merge request you should notice that conflicts exist. Resolve
-the conflicts locally by rebasing.
-
-```shell
-git rebase master
-
-# Fix conflicts by editing the files.
-
-git add conflicts.rb
-git commit -m 'Fix conflicts'
-git rebase --continue
-git push origin <branch> -f
-```
-
-## Rebase with squash
-
-You may end up with a commit log that looks like this:
-
-```plaintext
-Fix issue #13
-Test
-Fix
-Fix again
-Test
-Test again
-Does this work?
-```
-
-Squash these in to meaningful commits using an interactive rebase.
-
-## Rebase with squash commands
-
-Squash the commits on the same branch we used for the merge conflicts step.
-
-```shell
-git rebase -i master
-```
-
-In the editor, leave the first commit as `pick` and set others to `fixup`.
-
-## Questions?
-
-![fit](logo.png)
-
-Thank you for your hard work!
-
-## Additional Resources
-
-See [additional resources](index.md#additional-resources).
-
-<!-- ## Troubleshooting
-
-Include any troubleshooting steps that you can foresee. If you know beforehand what issues
-one might have when setting this up, or when something is changed, or on upgrading, it's
-important to describe those, too. Think of things that may go wrong and include them here.
-This is important to minimize requests for support, and to avoid doc comments with
-questions that you know someone might ask.
-
-Each scenario can be a third-level heading, e.g. `### Getting error message X`.
-If you have none to add when creating a doc, leave this section in place
-but commented out to help encourage others to add to it in the future. -->
+<!-- This redirect file can be deleted after <2021-08-13>. -->
+<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->