summaryrefslogtreecommitdiff
path: root/doc/gitlab-basics
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-11-27 09:06:29 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2019-11-27 09:06:29 +0000
commitc02f53288a838166a28518983fae3b80ca5936d8 (patch)
treecd8af90618ac55809e7782bad09246874876f7c2 /doc/gitlab-basics
parent688e33953d34ab8cd348d02ce79d8fdfe5353a03 (diff)
downloadgitlab-ce-c02f53288a838166a28518983fae3b80ca5936d8.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc/gitlab-basics')
-rw-r--r--doc/gitlab-basics/start-using-git.md65
1 files changed, 45 insertions, 20 deletions
diff --git a/doc/gitlab-basics/start-using-git.md b/doc/gitlab-basics/start-using-git.md
index 1f43b151d5d..097794d39a7 100644
--- a/doc/gitlab-basics/start-using-git.md
+++ b/doc/gitlab-basics/start-using-git.md
@@ -61,10 +61,12 @@ To verify that you entered your email correctly, type:
git config --global user.email
```
-You'll need to do this only once, since you are using the `--global` option. It tells
-Git to always use this information for anything you do on that system. If you want
-to override this with a different username or email address for specific projects or repositories,
-you can run the command without the `--global` option when you’re in that project, and that will default to `--local`. You can read more on how Git manages configurations in the [Git Config](https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration) documentation.
+You'll need to do this only once, since you are using the `--global` option. It
+tells Git to always use this information for anything you do on that system. If
+you want to override this with a different username or email address for specific
+projects or repositories, you can run the command without the `--global` option
+when you’re in that project, and that will default to `--local`. You can read more
+on how Git manages configurations in the [Git Config](https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration) documentation.
## Check your information
@@ -102,7 +104,10 @@ files to your local computer, automatically preserving the Git connection with t
remote repository.
You can either clone it via HTTPS or [SSH](../ssh/README.md). If you chose to clone
-it via HTTPS, you'll have to enter your credentials every time you pull and push. You can read more about credential storage in the [Git Credentials documentation](https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage). With SSH, you enter your credentials only once.
+it via HTTPS, you'll have to enter your credentials every time you pull and push.
+You can read more about credential storage in the
+[Git Credentials documentation](https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage).
+With SSH, you enter your credentials only once.
You can find both paths (HTTPS and SSH) by navigating to your project's landing page
and clicking **Clone**. GitLab will prompt you with both paths, from which you can copy
@@ -113,8 +118,8 @@ As an example, consider this repository path:
- HTTPS: `https://gitlab.com/gitlab-org/gitlab.git`
- SSH: `git@gitlab.com:gitlab-org/gitlab.git`
-To get started, open a terminal window in the directory you wish to clone the repository
-files into, and run one of the following commands.
+To get started, open a terminal window in the directory you wish to clone the
+repository files into, and run one of the following commands.
Clone via HTTPS:
@@ -134,9 +139,9 @@ on it locally.
### Switch to the master branch
-You are always in a branch when working with Git. The main branch is the master branch,
-but you can use the same command to switch to a different branch by changing `master`
-to the branch name.
+You are always in a branch when working with Git. The main branch is the master
+branch, but you can use the same command to switch to a different branch by
+changing `master` to the branch name.
```bash
git checkout master
@@ -145,10 +150,10 @@ git checkout master
### Download the latest changes in the project
To work on an up-to-date copy of the project (it is important to do this every time
-you start working on a project), you `pull` to get all the changes made by users since
-the last time you cloned or pulled the project. Use `master` for the `<name-of-branch>`
-to get the main branch code, or the branch name of the branch you are currently working
-in.
+you start working on a project), you `pull` to get all the changes made by users
+since the last time you cloned or pulled the project. Use `master` for the
+`<name-of-branch>` to get the main branch code, or the branch name of the branch
+you are currently working in.
```bash
git pull <REMOTE> <name-of-branch>
@@ -156,10 +161,11 @@ git pull <REMOTE> <name-of-branch>
When you clone a repository, `REMOTE` is typically `origin`. This is where the
repository was cloned from, and it indicates the SSH or HTTPS URL of the repository
-on the remote server. `<name-of-branch>` is usually `master`, but it may be any existing
-branch. You can create additional named remotes and branches as necessary.
+on the remote server. `<name-of-branch>` is usually `master`, but it may be any
+existing branch. You can create additional named remotes and branches as necessary.
-You can learn more on how Git manages remote repositories in the [Git Remote documentation](https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes).
+You can learn more on how Git manages remote repositories in the
+[Git Remote documentation](https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes).
### View your remote repositories
@@ -184,9 +190,9 @@ so use something easy to remember and type.
### Create a branch
-To create a new branch, to work from without affecting the `master` branch, type the
-following (spaces won't be recognized in the branch name, so you will need to use a
-hyphen or underscore):
+To create a new branch, to work from without affecting the `master` branch, type
+the following (spaces won't be recognized in the branch name, so you will need to
+use a hyphen or underscore):
```bash
git checkout -b <name-of-branch>
@@ -245,6 +251,10 @@ The `.` character means _all file changes in the current directory and all subdi
### Send changes to GitLab.com
+NOTE: **Note:**
+To create a merge request from a fork to an upstream repository, see the
+[forking workflow](../user/project/repository/forking_workflow.md)
+
To push all local commits (saved changes) to the remote repository:
```bash
@@ -301,6 +311,21 @@ git checkout <name-of-branch>
git merge master
```
+### Synchronize changes in a forked repository with the upstream
+
+[Forking a repository](../user/project/repository/forking_workflow.md lets you create
+a copy of a repository in your namespace. Changes made to your copy of the repository
+are not synchronized automatically with the original.
+Your local fork (copy) contains changes made by you only, so to keep the project
+in sync with the original project, you need to `pull` from the original repository.
+
+You must [create a link to the remote repository](#add-a-remote-repository) to pull
+changes from the original repository. It is common to call this remote the `upstream`.
+
+You can now use the `upstream` as a [`<remote>` to `pull` new updates](#download-the-latest-changes-in-the-project)
+from the original repository, and use the `origin`
+to [push local changes](#send-changes-to-gitlabcom) and create merge requests.
+
<!-- ## Troubleshooting
Include any troubleshooting steps that you can foresee. If you know beforehand what issues