#2 — Добавление файлов в репозиторий
В ходе урока вы познакомитесь с добавлением файлов в локальный репозиторий проекта. Вы изучите такие команды, как: git add, git commit, git status, а также познакомитесь с игнорированием файлов при помощи .gitignore файла.
Видеоурок
Для добавления файлов в локальное хранилище в Git используется несколько команд:
- git add — добавление файлов в стадию ожидания;
- git commit — добавление файлов в локальное хранилище;
- git rm — отмена действий.
Получение статуса
Для отслеживания статуса всех файлов необходимо использовать команду git status .
Это одна из важнейших команд, так как система отслеживает изменения, а с ее помощью мы узнаем о результатах этого отслеживания. Если мы наберем git status в терминале, то система должна выдать следующее:
Добавление файлов
Перед добавлением файлов в локальное хранилище их необходимо подготовить. Для этого используется команда git add .
Через команду можно указать какие файлы необходимо добавить. Можно добавить всё, прописав git add . или git add -A , а также можно добавлять лишь некоторые файлы. Для их выбора можно воспользоваться различными командами:
Коммит
После подготовки файлов их необходимо отправить в локальное хранилище (выполнить коммит). Для этого используется команда git commit -m «Комментари» .
При коммите данных их необходимо комментировать, чтобы в дальнейшем каждое изменение в проекте было с комментарием (описанием действий).
Отмена действий
Если вы добавили файлы в стадию ожидания, но передумали и не хотите добавлять некоторые из них, то вам пригодиться команда git rm -cached «file» .
В ней укажите какой файл необходимо «выкинуть» из стадии ожидания на коммит.
Игнорирование файлов
Git имеет встроенную функцию .gitignore, с помощью которой мы можем предотвратить случайное попадание в git add ненужных файлов, папок и директорий. Очень часто в такой перечень попадают следующие данные:
- Логи;
- Артефакты систем сборки;
- Папки node_modules в проектах node.js;
- Папки, созданные IDE, например, Netbeans или IntelliJ;
- Разнообразные заметки разработчика.
Работает функция .gitignore очень просто:
- Создаем вручную файл под названием .gitignore и сохраняем его в директорию проекта.
- Внутри файла перечисляем названия файлов/папок, которые нужно игнорировать, каждое с новой строки.
- Файл .gitignore добавляем, коммитим и отправляем на сервер, как любой другой файл в проекте. Пример исключения перечисленных выше файлов выглядит так:
*.log build/ node_modules/ .idea/ my_notes.txt
Слэш обозначает игнорирование директорий и всего их содержимого, звездочка – шаблон.
Задание к уроку
Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям
Большое задание по курсу
Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца
Настройка репозитория Git
Репозиторий Git или репозиторий — это папка, в которую Git отслеживается изменения. На компьютере может быть любое количество репозиториев, хранящихся в собственной папке. Каждый репозиторий Git в системе является независимым, поэтому изменения, сохраненные в одном репозитории Git, не влияют на содержимое другого.
Репозиторий Git содержит каждую версию каждого файла, сохраненного в репозитории. Это отличается от других систем управления версиями, которые хранят только различия между файлами. Git сохраняет версии файлов в скрытой папке .git вместе с другими сведениями, которыми он должен управлять кодом. Git экономит эти файлы очень эффективно, поэтому наличие большого количества версий не означает, что он использует много места на диске. Хранение каждой версии файла помогает Git объединить код лучше и упрощает работу с несколькими версиями кода.
Разработчики работают с Git с помощью команд, выданных при работе в локальном репозитории на компьютере. Даже при совместном использовании кода или получении обновлений из команды выполняется из команд, которые обновляют локальный репозиторий. Этот локальный дизайн — это то, что делает Git распределенной системой управления версиями. Каждый репозиторий является автономным, и владелец репозитория отвечает за сохранение его актуальности с изменениями от других.
Большинство команд используют центральный репозиторий, размещенный на сервере, который каждый может получить доступ к координации своих изменений. Центральный репозиторий обычно размещается в решении управления версиями, например GitHub или Azure DevOps. Решение управления версиями добавляет функции и упрощает совместную работу.
Создание репозитория Git
Существует два варианта создания репозитория Git. Вы можете создать один из кода в папке на компьютере или клонировать его из существующего репозитория. При работе с кодом, который находится только на локальном компьютере, создайте локальный репозиторий с помощью кода в этой папке. Но большую часть времени, когда код уже предоставлен в репозитории Git, поэтому клонирование существующего репозитория на локальный компьютер рекомендуется использовать.
Создание репозитория из существующего кода
git init Используйте команду, чтобы создать репозиторий из существующей папки на компьютере. В командной строке перейдите в корневую папку, содержащую код и выполните следующую команду:
для создания репозитория. Затем добавьте все файлы в папку в первую фиксацию с помощью следующих команд:
> git commit -m «Initial commit»
Создание репозитория из удаленного репозитория
git clone Используйте команду, чтобы скопировать содержимое существующего репозитория в папку на компьютере. В командной строке перейдите в папку, чтобы содержать клонированного репозитория, а затем выполните следующую команду:
Не забудьте использовать фактический URL-адрес существующего репозитория вместо URL-адреса заполнителя, показанного в этом примере. Этот URL-адрес, называемый URL-адресом клонирования, указывает на сервер, где команда координирует изменения. Получите этот URL-адрес из команды или с кнопки клонирования на сайте, где размещен репозиторий.
Не обязательно добавлять файлы или создавать начальную фиксацию при клонировании репозитория, так как он был скопирован вместе с журналом из существующего репозитория во время операции клонирования.
Следующие шаги
GitHub и Azure Repos предоставляют неограниченные бесплатные общедоступные и частные репозитории Git.
Являетесь пользователем Visual Studio? Дополнительные сведения о создании и клонировании репозиториев из Visual Studio см. в этом руководстве по Git.
Разделение подпапки в новый репозиторий
Вы можете преобразовать папку в репозитории Git в совершенно новый репозиторий.
Platform navigation
Note: You need Git version 2.22.0 or later to follow these instructions, otherwise git filter-repo will not work.
If you create a new clone of the repository, you won’t lose any of your Git history or changes when you split a folder into a separate repository. However, note that the new repository won’t have the branches and tags of the original repository.
- Open Terminal Terminal Git Bash .
- Change the current working directory to the location where you want to create your new repository.
- Clone the repository that contains the subfolder.
git clone https://github.com/USERNAME/REPOSITORY-NAME
cd REPOSITORY-NAME
- FOLDER-NAME : The folder within your project where you’d like to create a separate repository.
Tip: Windows users should use / to delimit folders.
$ git filter-repo --path FOLDER-NAME/ # Filter the specified branch in your directory and remove empty commits
The repository should now only contain the files that were in your subfolder(s).
If you want one specific subfolder to be the new root folder of the new repository, you can use the following command:
$ git filter-repo --subdirectory-filter FOLDER-NAME # Filter the specific branch by using a single sub-directory as the root for the new repository
to copy the remote repository URL.
Tip: For information on the difference between HTTPS and SSH URLs, see «About remote repositories.»
git remote add origin https://github.com/USERNAME/REPOSITORY-NAME.git
$ git remote -v # Verify new remote URL > origin https://github.com/USERNAME/NEW-REPOSITORY-NAME.git (fetch) > origin https://github.com/USERNAME/NEW-REPOSITORY-NAME.git (push)
git push -u origin BRANCH-NAME
Добавление репозитория с локального компьютера в GitHub Desktop
Вы можете добавить любой репозиторий Git в GitHub Desktop, даже если это не репозиторий GitHub.
Platform navigation
Совет. Вы можете добавить репозиторий Git с локального компьютера в GitHub Desktop, перетащив папку в окно GitHub Desktop. Если перетащить в GitHub Desktop несколько папок Git одновременно, каждая из них будет добавлена в виде отдельного репозитория Git.
- В строке меню выберите «Файл«, а затем нажмите кнопку «Добавить локальный репозиторий«.
В окне «Добавить локальный репозиторий» нажмите кнопку » Выбрать. «, а затем используйте окно Finder для перехода к локальному репозиторию, который требуется добавить.
- В строке меню выберите «Файл«, а затем нажмите кнопку «Добавить локальный репозиторий«.
В окне «Добавить локальный репозиторий» нажмите кнопку «Выбрать. «, а затем используйте Windows Обозреватель для перехода к локальному репозиторию, который требуется добавить.