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/gitlab-basics/add-file.md')
-rw-r--r--doc/gitlab-basics/add-file.md178
1 files changed, 92 insertions, 86 deletions
diff --git a/doc/gitlab-basics/add-file.md b/doc/gitlab-basics/add-file.md
index 05731f93605..425b8927520 100644
--- a/doc/gitlab-basics/add-file.md
+++ b/doc/gitlab-basics/add-file.md
@@ -7,89 +7,95 @@ type: howto
# Add a file to a repository **(FREE)**
-Adding files to a repository is a small, but key task. Bringing files in to a repository,
-such as code, images, or documents, allows them to be tracked by Git, even though they
-may have been created elsewhere.
-
-You can add a file to a repository in your [terminal](#add-a-file-using-the-command-line), and
-then push to GitLab. You can also use the [web interface](../user/project/repository/web_editor.md#upload-a-file),
-which may be a simpler solution.
-
-If you need to create a file first, for example a `README.md` text file, that can
-also be done from the [terminal](command-line-commands.md#create-a-text-file-in-the-current-directory) or
-[web interface](../user/project/repository/web_editor.md#create-a-file).
-
-## Add a file using the command line
-
-Open a [terminal/shell](command-line-commands.md), and change into the folder of your
-GitLab project. This usually means running the following command until you get
-to the desired destination:
-
-```shell
-cd <destination folder>
-```
-
-[Create a new branch](../tutorials/make_your_first_git_commit.md#create-a-branch-and-make-changes) to add your file into. Submitting changes directly
-to the default branch should be avoided unless your project is very small and you're the
-only person working on it.
-
-You can also [switch to an existing branch](start-using-git.md#switch-to-a-branch)
-if you have one already.
-
-Using your standard tool for copying files (for example, Finder in macOS, or File Explorer
-on Windows), put the file into a directory in the GitLab project.
-
-Check if your file is actually present in the directory (if you're on Windows,
-use `dir` instead):
-
-```shell
-ls
-```
-
-You should see the name of the file in the list shown.
-
-Check the status:
-
-```shell
-git status
-```
-
-Your file's name should appear in red, so `git` took notice of it! Now add it
-to the repository:
-
-```shell
-git add <name of file>
-```
-
-Check the status again, your file's name should have turned green:
-
-```shell
-git status
-```
-
-Commit (save) your file to the repository:
-
-```shell
-git commit -m "DESCRIBE COMMIT IN A FEW WORDS"
-```
-
-Now you can push (send) your changes (in the branch `<branch-name>`) to GitLab
-(the Git remote named 'origin'):
-
-```shell
-git push origin <branch-name>
-```
-
-Your image is added to your branch in your repository in GitLab.
-
-<!-- ## 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, for example `### 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. -->
+Adding files to a repository is a small, but key, task. No matter where the code,
+images, or documents were created, Git tracks them after you add them to your repository.
+
+## Add an existing file
+
+To add an existing file to your repository, either:
+
+- Upload the file from the GitLab UI.
+- Add a file to your repository from the command line, then push the file up to GitLab.
+
+### From the UI
+
+If you are unfamiliar with the command line, use the
+[Web Editor](../user/project/repository/web_editor.md) to upload a file from the GitLab UI:
+
+<!-- Original source for this list: doc/user/project/repository/web_editor.md#upload-a-file -->
+<!-- For why we duplicated the info, see https://gitlab.com/gitlab-org/gitlab/-/merge_requests/111072#note_1267429478 -->
+
+1. On the top bar, select **Main menu > Projects** and find your project.
+1. From the project dashboard or repository, next to the branch name, select the plus icon (**{plus}**).
+1. From the dropdown list, select **Upload file**.
+1. Complete the fields. To create a merge request with the uploaded file, ensure the **Start a new merge request with these changes** toggle is turned on.
+1. Select **Upload file**.
+
+### From the command line
+
+To add a new file from the command line:
+
+1. Open a terminal (or shell) window.
+1. Use the "change directory" (`cd`) command to go to your GitLab project's folder.
+ Run the `cd DESTINATION` command, changing `DESTINATION` to the location of your folder.
+1. Choose a Git branch to work in. You can either:
+ - [Create a new branch](../tutorials/make_first_git_commit/index.md#create-a-branch-and-make-changes)
+ to add your file into. Don't submit changes directly to the default branch of your
+ repository unless your project is very small and you're the only person working on it.
+ - [Switch to an existing branch](start-using-git.md#switch-to-a-branch).
+1. Copy the file into the appropriate directory in your project. Use your standard tool
+ for copying files, such as Finder in macOS, or File Explorer in Windows.
+1. In your terminal window, confirm that your file is present in the directory:
+ - Windows: Use the `dir` command.
+ - All other operating systems: Use the `ls` command.
+ You should see the name of the file in the list shown.
+1. Check the status of your file with the `git status` command. Your file's name
+ should be red. Files listed in red are in your file system, but Git isn't tracking them yet.
+1. Tell Git to track this file with the `git add FILENAME` command, replacing `FILENAME`
+ with the name of your file.
+1. Check the status of your file again with the `git status` command. Your file's name
+ should be green. Files listed in green are tracked locally by Git, but still
+ need to be committed and pushed.
+1. Commit (save) your file to your local copy of your project's Git repository:
+
+ ```shell
+ git commit -m "DESCRIBE COMMIT IN A FEW WORDS"
+ ```
+
+1. Push (send) your changes from your copy of the repository, up to GitLab.
+ In this command, `origin` refers to the copy of the repository stored at GitLab.
+ Replace `BRANCHNAME` with the name of your branch:
+
+ ```shell
+ git push origin BRANCHNAME
+ ```
+
+1. Git prepares, compresses, and sends the data. Lines from the remote repository
+ (here, GitLab) are prefixed with `remote:` like this:
+
+ ```plaintext
+ Enumerating objects: 9, done.
+ Counting objects: 100% (9/9), done.
+ Delta compression using up to 10 threads
+ Compressing objects: 100% (5/5), done.
+ Writing objects: 100% (5/5), 1.84 KiB | 1.84 MiB/s, done.
+ Total 5 (delta 3), reused 0 (delta 0), pack-reused 0
+ remote:
+ remote: To create a merge request for BRANCHNAME, visit:
+ remote: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/new?merge_request%5Bsource_branch%5D=BRANCHNAME
+ remote:
+ To https://gitlab.com/gitlab-org/gitlab.git
+ * [new branch] BRANCHNAME -> BRANCHNAME
+ branch 'BRANCHNAME' set up to track 'origin/BRANCHNAME'.
+ ```
+
+Your file is now copied from your local copy of the repository, up to the remote
+repository at GitLab. To create a merge request, copy the link sent back from the remote
+repository and paste it into a browser window.
+
+## Add a new file
+
+To create a new file (like a `README.md` text file) in your repository, either:
+
+- [Create the file](../user/project/repository/web_editor.md#create-a-file) from the GitLab UI.
+- Create the file from the terminal.