Шпаргалка по основам Git/GitHub
Если Вы всё еще не знакомы с системой контроля версий и её использование не входит в Ваш рабочий процесс, то сейчас — самое время начать! Это основополагающее руководство поможет Вам начать работу с Git и даст Вам прочный фундамент для дальнейшего развития. Git почти наверняка используется на любом серьёзном проекте и чем раньше Вы научитесь им пользоваться, тем более ценным сотрудником Вы станете для работодателей. Так же, это улучшит Ваш личный опыт, так как Вы без проблем сможете переключаться между несколькими компьютерами, не волнуясь при этом о переносе проекта через флэш накопители… Работа в команде станет гораздо легче. Бывали ли у Вас случаи, когда код становился настолько запутанным, что казалось, будто было бы легче начать проект с нуля? С системой контроля версий Вы сможете просто вернуться к стабильной версии, без всего того что Вы успели воплотить в 4 часа утра.
Git и GitHub
Git — это одна из систем контроля версий. По существу это значит, что она хранит всю историю изменений проекта. История Вашего проекта и история изменений этого же проекта у Ваших коллег — у всего будет копия. Это полная противоположность SVN, где вся история изменений храниться в одном месте.
GitHub, часто путают с Git. На самом деле — это хостинг репозиториев. Возможно Вам пока непонятно что такое репозиторий, но не спешите закрывать статью, к концу всё прояснится. Вкратце, GitHub — это то место, куда Вы будете загружать историю изменений проекта используя Git.
Введение
Git достаточно мудрёный и выучить каждую из его команд не так-то просто, но для начала работы Вам нужно знать всего несколько ключевых понятий. Чем больше Вы будете использовать Git, тем чаще Вы будете сталкиваться с ситуацией, когда начальных знаний окажется недостаточно, но существует большое количество ресурсов, которые придут к Вам на помощь. Так что используйте это руководство как трамплин, не забывая о дальнейшем развитии.
Первым делом мы загрузим Git. Для пользователей Windows я советую установить и Git Bash, который доступен после установки Git. Для пользователей Mac, использование Terminal будет достаточным. После завершения установки приступайте к регистрации аккаунта GitHub. Итак, у Вас есть Git, инструмент командной строки, и GitHub аккаунт, куда Вы будете загружать свои репозитории.
Шпаргалка
Используя Git Bash или Terminal перейдите в корневую директорию проекта. Если Вы используете Git Bash, то с помощью правого клика можно выбрать “Git Bash Here” и он запустится в рабочей директории.
git init
Эта команда создаст .git репозиторий в Вашем проекте. Репозиторий или “repo” это коллекция всех изменений, которые были совершены на протяжении всего времени после инициализации репозитория. Это первое что нужно сделать для нового проекта.
git config —global user.name "Ваше Имя"
git config —global user.email "ВашаПочта@mail.com"
Эти команды определят информацию, которая будет использоваться при каждом commit(фиксирование изменений). Их стоит выполнить всего один раз при первичной установке Git.
git add имяФайла.расширение
Замените “ имяФайла.расширение” на любой файл, изменения которого Вы пытаетесь зафиксировать, например “index.html”. Эта команда добавит файл в “staging area”(участок подготовки). Воспринимайте staging area, как секцию в которой файлы проходят подготовку к перемещению в Ваш репозиторий.
git add .
Если Вы хотите добавить всё из директории проекта в staging area, то эта команда сделает всё сама.
git add *.html
Если Вы хотите добавить все файлы с расширением .html в staging area то эта команда отлично подойдет. Расширение можно менять в зависимости от предпочтений.
git status
Покажет что уже было добавлено в staging area и какие файлы были изменены и ждут перемещения в staging area.
git reset имяФайла.расширение
Убирает выбранный файл из staging area.
git rm —cached имяФайла.расширение
Убирает файл из staging area и определяет его как игнорируемый.
git commit -m "Описание коммита"
Берёт файлы из staging area и “фиксирует” их в Ваш локальный репозиторий. В кавычки следует вставить краткое описание изменений для конкретного коммита. Постарайтесь описать коммит краткими деталями, например: “устранил проблему при изменении имени пользователя” вместо подобных сообщений “какие-то изменения”
touch .gitignore
Эта команда создаст файл с названием .gitignore. Вы можете открыть этот файл в текстовом редакторе и прописать названия файлов или директорий, изменения в которых Вы не хотели бы отслеживать (они будут игнорироваться Git). Изменения в игнорируемых файлах не будут отображаться при выполнении git status .
git branch названиеВетки
Создает сущность, называемую branch(ветвь). Ветвь — это точная копия Ваших файлов.
git checkout “названиеВетки”
Позволит Вам переключить контроль над созданной Вами веткой и работать в её пределах. Здесь Вы можете совершать любые изменения кода. Когда Вы будете готовы можно совершить commit изменений и отправить изменения в GitHub (об этом ниже) или же можно удалить ветвь, если что-то пошло не так или Вам больше не нужны изменения сделанные в этой ветке.
git merge названиеВетки
Находясь в Master(главной) ветви, Вы можете использовать эту команду, чтобы взять коммиты из любой из ветвей и соединить их вместе.
git remote add origin https://github.com/имяПользователя/проект.git
Эта команда определит “местоположение” Вашего удалённого репозитория. Всё что было до этого происходило исключительно в локальном репозитории на Вашем компьютере. Вам нужно будет перейти в GitHub аккаунт и создать новый удалённый репозиторий, куда Вы сможете отправлять изменения из локального репозитория. After you created your remote repository you will be provided with a link and that link is the location you will want to use in the above command.
git remote
Выведет список из всех удалённых репозиториев, которые были добавлены к Вашему проекту.
git push -u origin master
Эта команда отправит локальные изменения в удалённый репозиторий. Таким образом эту команду стоит прописывать только первый раз.
git push
This is what you will use to push your code to GitHub after your initial push.
git clone https://github.com/имяПользователя/проект.git
Если у Вас отсутствует проект на личном или рабочем компьютере, то эта команда поможет клонировать/загрузить весь проект в текущую директорию.
git pull
Если Вы работаете над одним и тем же проектом с несколькими людьми, то эта команда позволит загрузить последнюю версию из удалённого репозитория и обновить вашу локальную версию.
Вывод
Надеюсь это руководство поможет Вам начать и понимать что вообще происходит. Буду рад помочь с уточнениями и ответами на вопросы в комментариях.
How to effectively deal with bots on your site? The best protection against click fraud.
В семействе Linux редактор VI является, пожалуй, самым распространенным и основным текстовым редактором. Вот некоторые из основных причин, почему это такой популярный редактор:
- Он включен практически в каждый дистрибутив Linux/UNIX.
- Он совместим с широким спектром систем и версий.
- Он прост в использовании.
В результате многие пользователи Linux обожают его и используют для выполнения своих задач редактирования. Если вы укажете уже существующий файл в текущем каталоге, редактор ВП откроет его для редактирования. Вы также можете создать новый файл, если это необходимо, используя тот же метод. Как вы можете видеть на изображении ниже, когда мы набираем эту команду, редактор VI открывает файл bash, который находится в каталоге project1 git.

На приведенном ниже экране отображается содержимое существующего файла. Символы (
) представляют собой пустые строки в новом или открытом файле, который можно редактировать.

Пример 2: Редактор Vim
Vim — это текстовый редактор, который позволяет нам создавать и изменять текстовые и другие файлы. VIM — это более продвинутая и расширенная версия редактора VI. В vim есть два режима: командный режим и режим вставки. Пользователь может перемещаться по файлу, удалять содержимое и т. д., используя командный режим. Пользователь будет вводить текст в режиме вставки. Если на вашем компьютере с Linux не установлен VIM, используйте команду «sudo apt-получить установку vim» сделать это. VIM можно установить за короткое время. Без предварительной установки редактора VIM команда vim не будет распознана терминалом Linux, как показано ниже.

После его установки, чтобы открыть существующий файл или создать новый, используйте команду vim, за которой следует полный путь к каталогу, как показано ниже.

Вы также можете попробовать использовать имя файла в инструкции vim после перемещения в каталоге, содержащем конкретный открываемый файл.

Когда мы просто набрали команду vim, как показано выше, терминал перенаправил нас к файлу, показанному на скриншоте. Экран показывает, что файл пуст; сохраните и закройте файл после ввода соответствующих входных данных по вашему выбору.
–
Пример 3: Редактор Gnu Nano
В этом примере вы узнаете, как установить и использовать редактор Nano в Linux. Для Linux и Unix-подобных операционных систем Nano является хорошо известным среди пользователей текстовым редактором. Nano — мощный редактор, который позволяет создавать, открывать и редактировать самые разные файлы. Для начала используйте команду nano –version, чтобы определить, установлен ли nano на вашем компьютере в операционной системе Linux. Если эта операция возвращает версию GNU nano, это означает, что NANO уже установлен в вашей системе Linux; в противном случае его необходимо установить.

Если он еще не установлен, попробуйте запустить представленную ниже команду на компьютере с Debian, Linux, UNIX или Ubuntu, чтобы установить текстовый редактор Nano. Затем сядьте поудобнее и дождитесь завершения установки.
р

Когда мы нажимаем клавишу ввода, редактор Nano открывает текстовый файл в режиме редактирования, как показано на экране оболочки ниже. Просто нажмите клавиши Ctrl + X вместе, чтобы закрыть файл после редактирования. Вы можете открывать файлы с расширениями .txt, .sh, .php и .html. Просто помните, что если вы хотите получить доступ к определенному файлу в редакторе Nano, вы должны либо находиться в том же каталоге, где он находится, либо ввести полный путь к каталогу. Синтаксис приведен ниже:
нано / дорожка / каталог назначения / новый.txt
Nano сгенерирует новый файл, если вы введете имя файла, которого нет в каталоге. В качестве альтернативы, если вы запустите команду nano без указания имени файла, текстовый редактор Nano создаст пустой файл без имени и запросит его при выходе из редактора. При запуске инструкции nano появится новое окно, позволяющее обновлять файл различными способами. Пользовательский интерфейс текстового редактора Nano показан выше. Просто используйте клавиши со стрелками на компьютере для перемещения курсора по тексту.

Пример 4: Инструкция Cat
Если вы когда-либо имели дело с Linux, вы почти наверняка сталкивались с командой cat. Concatenate сокращенно обозначается как cat. Эта команда показывает содержимое одного или нескольких файлов, не требуя открытия файла для модификации. Вам нужно добавить имя файла после ключевого слова «кошка» в определенном каталоге, чтобы открыть файл. Вы можете видеть, что данные в файле newfile.txt отображаются в нашей оболочке.

Опция «-n» позволяет дать инструкции команде cat.

Вывод:
Это все об использовании различных текстовых редакторов и команд для открытия файлов любого типа в системе Kali Linux. Мы обсудили несколько примеров открытия файлов любого типа в редакторе Linux vi, редакторе vim и редакторе Gnu Nano. Также мы обсудили использование инструкции «cat» для вывода данных на экран оболочки.
How to Open a File in Git Bash
In the Linux family, the VI editor is perhaps the most common and basic text editor. Here are some of the major reasons why it is such a popular editor:
- It’s included in practically every Linux/UNIX distribution.
- It is compatible with a wide range of systems and versions.
- It is simple to use.
As a result, many Linux users adore it and employ it to do their editing tasks. If you specify an already-existing file in the current directory, the VI editor will open it for editing. You can also make a new file if necessary by using the same method. As you can see in the image below, when we type this command, the VI editor opens the bash file, which is located in the project1 directory of git.

The screen below displays the contents of an existing file. Symbols (
) represent empty lines in a new or open file that can be edited.

Example 2: Vim Editor
Vim is a text editor that allows us to create and modify text and other files. VIM is a more advanced and extended version of the VI editor. In vim, there are two modes: the command mode andthe insert mode. The user can navigate around the file, delete content, and so on using the command mode. The user will input text in the insert mode. If you don’t have VIM installed on your Linux machine, use the command “sudo apt-get install vim” to do so. VIM can be installed in a short amount of time. Without first installing VIM Editor, the vim command will not be recognized by the Linux terminal as shown below.

After installing it, to open an existing file or create a new one, use the vim command followed by the whole directory path as shown below.

You can also try using the name of a file within vim instruction after moving within the directory that contains the specific file to be opened.

When we just typed the vim command, as shown above, the terminal navigated us to the file shown in the screenshot. The screen indicates that the file is empty; save and close the file after inputting the appropriate input data of your choice.
–
Example 3: Gnu Nano Editor
In this example, you will learn how to install and use the Nano editor in Linux. For Linux and Unix-like operating systems, Nano is a well-known text editor among users. Nano is a powerful editor that allows you to create, open, and edit a wide variety of files. To begin, use the nano –version command to determine whether nano is installed on your machine on the Linux operating system. If this operation returns a GNU nano version, it means NANO is already installed on your Linux system; otherwise, it must be installed.

If it’s not already installed, try running the below-presented command on a Debian, Linux, UNIX, or Ubuntu computer to install the Nano text editor. Then sit back and wait for the installation to complete.
r

When we press the enter key, the Nano editor opens the text file in editing mode, as shown in the shell screen below. Simply press the Ctrl + X keys together to close the file after editing. You may open files with the extensions .txt, .sh, .php, and .html. Just remember that if you want to access a specific file in Nano editor, you must either be in the same directory where it is located or type the entire directory path. The syntax is given below:
Nano will generate a new file if you input a file name that does not exist in the directory. Alternatively, if you run the nano command without supplying a file name, the Nano text editor will generate an empty file with no name and prompt you for one when you depart the editor. When you run the nano instruction, a new window will appear, allowing you to update the file in a variety of ways. The user interface for the Nano text editor is shown above. Simply use the arrow keys on your computer to move the cursor around the text.

Example 4: Cat Instruction
If you’ve ever dealt with Linux, you’ve almost certainly come across the cat command. Concatenate is abbreviated as a cat. This command shows the contents of one or more files without requiring the file to be opened for modification. You need to add the file name after the “cat” keyword in the particular directory to open a file. You can see the data within the newfile.txt has been displayed in our shell.

The “-n” option allows you to give the cat command instructions.

Conclusion:
This is all about the use of different text editors and commands to open any type of file in the Kali Linux system. We have discussed some examples to open any type of file in Linux’s vi editor, vim editor, and Gnu Nano editor. Also, we have discussed the use of “cat” instruction to display data on the shell screen.
About the author

Omar Farooq
Hello Readers, I am Omar and I have been writing technical articles from last decade. You can check out my writing pieces.
Name already in use
На этапе необходимо освоить базовые приёмы работы с Git и GitHub. Ниже приводится перечень действий с Git и GitHub, которые нужно уметь выполнять. Если они не составляют для вас проблемы, можно сразу переходить к выполнению заданий. Если вы только осваиваете эти темы рекомендуется не только прочитать последовательность действий, но и выполнить их самостоятельно.
Регистрация на GitHub
Для cоздания репозитория кликните на кнопку New repository справа вверху. На странице создания репозитория https://github.com/new укажите:
- название репозитория
- настройки видимости (приватный это репозиторий или публичный)
- поставьте галочку, чтобы создать README файл
Настройка рабочей среды
Cледует установить клиент системы управления версиями Git для вашей ОС. https://git-scm.com/downloads Он будет необходим для взаимодействия с сервером GitHub, а именно создания локальных репозиториев и отправки лабораторных работ на сервер. При установке в Windows необходимо выбрать опцию Use Git from the Windows Command Prompt, для того чтобы иметь возможность выполнять команды git из стандартного интерпретатора команд Windows cmd.exe.
Если войти в проводнике в соданную папку (D:\Lab), вызвать контекстное меню и выбрать пункт Git Bash Here, то откроется окно оболочки с приглашением.
После установки требуется настроить клиент (настроить имя пользователя и адрес почты). Для этого из консоли требуется выполнить команды:
git config —global user.name «ВАШЕ ИМЯ ПОЛЬЗОВАТЕЛЯ»
ВАШЕ ИМЯ ПОЛЬЗОВАТЕЛЯ — имя, которым будут подписаны ваши изменения. Рекомендуется выбрать такое имя, чтобы оно совпадало с вашим именем пользователя на GitHub.
git config —global user.email «ВАШ EMAIL»
ВАШ EMAIL — адрес электронной почты, который указан в вашем профиле на GitHub.
Вместо user-name подставьте логин, который указывали при регистрации.
Git хранит весь пакет конфигураций в файле .gitconfig, находящемся в вашем локальном каталоге. Чтобы сделать эти настройки глобальными, то есть применимыми ко всем проектам, необходимо добавить флаг –global. Если вы этого не сделаете, они будут распространяться только на текущий репозиторий. Для того, чтобы посмотреть все настройки системы, используйте команду:
git config —list
Для удобства и легкости зрительного восприятия, некоторые группы команд в Гит можно выделить цветом, для этого нужно прописать в консоли:
Клонирование репозитория на компьютер
Репозиторий в виде папки у вас на компьютере называется локальный репозиторий. Репозиторий, загруженный на GitHub, называется удалённый репозиторий. Когда вы клонируете себе на компьютер репозиторий с GitHub, вы создаёте локальную копию удалённого репозитория.
Команда для клонирования репозитория git clone ссылка на репозиторий
Например, чтобы склонировать себе на компьютер репозиторий с тасками курса https://github.com/navferty/dotnet-learning, необходимо открыть Git Bash и выполнить в нём команду
git clone https://github.com/rolling-scopes-school/tasks
Если необходимо склонировать себе на компьютер отдельную ветку репозитория, выполните команду git clone ссылка на репозиторий -b название ветки
Загрузка файлов в репозиторий
Загрузить файлы в репозиторий можно как через GitHub, так и через Git. Рассмотрим оба варианта
Загрузка файлов в репозиторий через интерфейс GitHub
- кликаете на кнопку Add file справа вверху
- выбираете Upload files
- в появившееся окно перетягиваете файлы и папки с проектом
Загрузка файлов в репозиторий через Git
клонируете репозиторий себе на компьютер. Для этого в Git Bash выполняете команду
git clone ссылка на репозиторий
перетягиваете в папку репозитория файлы и папки с проектом
индексируете изменения. Для этого выполняете команду
git add . (с точкой в конце)
коммитите изменения. Для этого выполняете команду
git commit -m «пишете что изменили»
загружаете файлы в репозиторий. Для этого выполняете команду
git push origin main , здесь main — название ветки репозитория, в которую пушите
Загрузка файлов в Git через Visual Studio 2017
Загрузка файлов в Git через Visual Studio 2019
Существует три способа начать использование Git в Visual Studio для повышения производительности:
-
. Если у вас уже есть код и он не связан с Git, можно начать с создания нового репозитория Git . Если код, с которым вы хотите работать, не находится на вашем компьютере, можно клонировать любые существующие удаленные репозитории. . Если у вас уже есть код на компьютере, его можно открыть с помощью пункта меню Файл > Открыть > Решение/проект (или Папка). Visual Studio автоматически определяет, имеется ли инициализированный репозиторий GIT.
Главная ветка репозитория по умолчанию называется main (раньше master). От неё можно создавать другие ветки, от них ещё ветки и т.д. На первых этапах учёбы все ветки создаются исключительно от главной ветки. Перед созданием новой ветки убедитесь, что вы находитесь в главной ветке репозитория. Создать ветку можно как через GitHub, так и через Git. Рассмотрим оба варианта. Создание ветки через интерфейс GitHub
- Убедитесь, что вы находитесь в главной ветке репозитория main (или master)
- Кликните на треугольник рядом с названием ветки. В текстовое поле впишите название ветки, например, gh-pages
- Нажмите на строку Create branch: gh-pages from main (or from master). Мы создали ветку gh-pages.
Совместная разработка в команде
Создание Pull Request
Pull Requests — отличный способ внести свой вклад в репозиторий, сделав его форк. В конце дня, если мы хотим, мы можем отправить pull request владельцу репозитория, чтобы объединить наши изменения кода. Сам pull request может включать обсуждение качества кода, функций или даже общей стратегии.
Давайте теперь рассмотрим основные шаги для pull request. Инициирование pull request
В Github есть две модели для pull request:
- Модель Fork & Pull — используется в общедоступном репозитории, на который у вас нет push-доступа
- Share Repository Model — используется в частном репозитории, на который у нас есть push-доступ. В этом случае форк не требуется.
Здесь мы видим рабочий процесс между двумя пользователями ( repo-owner и forked-repo-owner ) для модели Fork and Pull:
- Определите репозиторий Github, в который вы хотите внести свой вклад, и нажмите кнопку «Fork», чтобы создать клон репозитория в вашей собственной учетной записи Github:
Некоторые файлы мы никогда не захотим помещать в репозиторий (например исполняемые файлы или файл с ключом какого-нибудь API). Такие файлы стоит добавить в `.gitignore. Для того чтобы сделать это, нужно создать файл .gitignore и указать в нём относительные пути ко всем нежеланным файлам и директориям, например:
Гит не будет отображать изменение или создание таких файлов, и, разумеется, не будет сохранять изменения в них.
Подумайте, какие файлы не нужно сохранять в репозитории и напишите .gitignore для вашей библиотеки.
Вот хорошие примеры файлов, которые нужно игнорировать:
- Логи
- Артефакты систем сборки
- Папки node_modules в проектах node.js
- Папки, созданные IDE, например, Netbeans или IntelliJ
- Разнообразные заметки разработчика.
В этом разделе будут описаны ключевые команды, необходимые нам для работы. Естественно, список этот далеко не полный.
- git —help — выводит общую документацию по git (например git log —help — он предоставит нам документацию по какой-то определенной команде (в данном случае это — log)
- git config —list посмотреть все настройки системы
- git status показывает информацию о текущем состоянии репозитория
- git log (git log —oneline) показывает историю коммитов
- Ключ «—oneline» существенно сокращает объем выводимой информации.
- Ключ «-p» позволяет вывести различие между каждым коммитом, а ключ «-число» – ограничивает вывод количеством коммитов, заданных числом.
Команды в GitBash консоли
clear — Очистить консоль
Текущий рабочий каталог
pwd — сокращение от «Print Working Directory».
Отображение текущего рабочего каталога:
Смена рабочего каталога
cd — сокращение от «Change Directory».
Переход в определённый каталог:
path может быть как абсолютным, так и относительным путём.
Например, перейти на каталог выше:
Перейти в подкаталог src :
Если перед путём нет слеша — он трактуется как относительный (относительно текущего каталога).
cd ../.. — Выйти на 2 уровня вверх
ls — сокращение от «List».
Отображает листинг (содержимое каталога):
По умолчанию, ls не отображает файлы, начинающиеся с . , например, .gitignore . Для отображения таких файлов нужно использовать флаг -a :
Для создания файлов используются специальные программы (например, для создания текстовых файлов — текстовые редакторы).
В рамках рассмотрения Bash мы рассмотрим два текстовых редактора, которые позволят вам создавать и редактировать файлы в псевдографическом режиме.
nano — простой текстовый редактор.
Для того, чтобы создать файл достаточно ввести команду nano и имя файла:
Пункты меню в нижней части вызываются с помощью горячих клавиш, где символ ^ обозначает клавишу Ctrl .
То есть чтобы записать файл и выйти следует последовательно нажать Ctrl + O (запись) и Ctrl + X (выход).
Редактор nano установлен в большинстве Unix-подобных операционных системах и Git Bash.
Редактор Vim (a programmer’s text editor) — профессиональный редактор, позволяющий достичь максимальной производительности при работе с любыми текстовыми файлами. Настолько популярен, что для любой графической среды (IDE, текстовых редакторов вроде VS Code, Atom, Sublime) всегда есть плагин, включающий возможность редактирования кода в режиме «Vim Mode».
На освоение работы в Vim нужно потратить достаточно много времени, для этого вы можете воспользоваться интерактивным учебником vimtutor :
Мы лишь скажем, что для выхода из этого редактора (если вы всё-таки осмелились его открыть) нужно нажать клавишу Esc , затем ввести команду :q! — это позволит вам закрыть открытый файл без сохранения изменений.
mkdir — сокращения от «Make Directory».
Позволяет создавать каталоги (создаст каталог tmp в текущем каталоге):
Стоит обратить внимание на поведение при создании нового каталога в текущей директории. После команды mkdir name ваше текущее расположение в терминале не изменится. Для того, чтобы работать внутри созданного каталога, в него требуется перейти командой cd name . Это справедливо и при клонировании удалённого репозитория с помощью команды git clone <repo_url> . Полностью склонированный репозиторий создаст каталог в текущей директории с именем проекта, в который нужно перейти командой cd repo_name .
cd !$ — Перейти в только что созданную папку
mkdir -p
mkdir -p app/
Перемещение файлов и каталогов
mv — сокращение от «Move».
Перемещение (переименование) файлов и каталогов:
Удаление файлов и каталогов
rm — сокращение от «Remove».
Удаление непустого каталога:
Для удаления непустого каталога необходимо указать флаги:
- -r — удалять рекурсивно;
- -f — не спрашивать подтверждения.
Пример разработки репозиторя
Footer
© 2023 GitHub, Inc.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.