diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-11-27 09:06:29 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-11-27 09:06:29 +0000 |
commit | c02f53288a838166a28518983fae3b80ca5936d8 (patch) | |
tree | cd8af90618ac55809e7782bad09246874876f7c2 /doc/gitlab-basics | |
parent | 688e33953d34ab8cd348d02ce79d8fdfe5353a03 (diff) | |
download | gitlab-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.md | 65 |
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 |