Перейти к содержимому

Как создать репозиторий в git

  • автор:

Создание репозитория

Чтобы разместить проект на GitHub, необходимо создать репозиторий, чтобы он функционировал.

Tool navigation

Create a repository

You can store a variety of projects in GitHub repositories, including open source projects. With open source projects, you can share code to make better, more reliable software. You can use repositories to collaborate with others and track your work. For more information, see «About repositories.» To learn more about open source projects, visit OpenSource.org.

Notes:

  • You can create public repositories for an open source project. When creating your public repository, make sure to include a license file that determines how you want your project to be shared with others. For more information on open source, specifically how to create and grow an open source project, we’ve created Open Source Guides that will help you foster a healthy open source community by recommending best practices for creating and maintaining repositories for your open source project.
  • You can also take a free GitHub Skills course on maintaining open source communities.
  • You can also add community health files to your repositories, to set guidelines on how to contribute, keep your repositories safe, and much more. For more information, see «Creating a default community health file.»
  1. In the upper-right corner of any page, select

Screenshot of a GitHub dropdown menu showing options to create new items. The menu item

, then click New repository.

Screenshot of the first step in creating a GitHub repository. The

Type a short, memorable name for your repository. For example, «hello-world».

Congratulations! You’ve successfully created your first repository, and initialized it with a README file.

To learn more about GitHub CLI, see «About GitHub CLI.»

  1. In the command line, navigate to the directory where you would like to create a local clone of your new project.
  2. To create a repository for your project, use the gh repo create subcommand. When prompted, select Create a new repository on GitHub from scratch and enter the name of your new project. If you want your project to belong to an organization instead of to your personal account, specify the organization name and project name with organization-name/project-name .
  3. Follow the interactive prompts. To clone the repository locally, confirm yes when asked if you would like to clone the remote project directory.
  4. Alternatively, to skip the prompts supply the repository name and a visibility flag ( —public , —private , or —internal ). For example, gh repo create project-name —public . To clone the repository locally, pass the —clone flag. For more information about possible arguments, see the GitHub CLI manual.

Commit your first change

A commit is like a snapshot of all the files in your project at a particular point in time.

When you created your new repository, you initialized it with a README file. README files are a great place to describe your project in more detail, or add some documentation such as how to install or use your project. The contents of your README file are automatically shown on the front page of your repository.

Let’s commit a change to the README file.

Screenshot of a list of files in a repository. A file name,

    In your repository’s list of files, select README.md.

Screenshot of a file. In the header, a button, labeled with a pencil icon, is outlined in dark orange.

to open the file editor.

Screenshot of a file in edit mode. Above the file's contents, a tab labeled

  • In the text box, type some information about yourself.
  • Above the new content, click Preview.

    Screenshot of the

    Review the changes you made to the file. If you select Show diff, you will see the new content in green.

    Screenshot of a GitHub pull request showing a radio button to commit directly to the main branch or to create a new branch. New branch is selected.

  • Click Commit changes.
  • In the «Commit message» field, type a short, meaningful commit message that describes the change you made to the file. You can attribute the commit to more than one author in the commit message. For more information, see «Creating a commit with multiple authors.»
  • Below the commit message fields, decide whether to add your commit to the current branch or to a new branch. If your current branch is the default branch, you should choose to create a new branch for your commit and then create a pull request. For more information, see «Creating a pull request.»

    Now that you have created a project, you can start committing changes.

    README files are a great place to describe your project in more detail, or add some documentation such as how to install or use your project. The contents of your README file are automatically shown on the front page of your repository. Follow these steps to add a README file.

    1. In the command line, navigate to the root directory of your new project. (This directory was created when you ran the gh repo create command.)
    2. Create a README file with some information about the project.

    echo "info about this project" >> README.md 
    $ git status Untracked files: (use "git add . " to include in what will be committed) README.md nothing added to commit but untracked files present (use "git add" to track) 
    git add README.md && git commit -m "Add README" 
    git push --set-upstream origin HEAD 

    Next steps

    You have now created a repository, including a README file, and created your first commit on GitHub.com.

    • You can now clone a GitHub repository to create a local copy on your computer. From your local repository you can commit, and create a pull request to update the changes in the upstream repository. For more information, see «Cloning a repository» and «Set up Git.»
    • You can find interesting projects and repositories on GitHub and make changes to them by creating a fork of the repository. Forking a repository will allow you to make changes to another repository without affecting the original. For more information, see «Fork a repo.»
    • Each repository on GitHub is owned by a person or an organization. You can interact with the people, repositories, and organizations by connecting and following them on GitHub. For more information, see «Be social.»
    • GitHub has a great support community where you can ask for help and talk to people from around the world. Join the conversation on GitHub Community.

    Настройка репозитория

    Этот обучающий материал включает в себя обзор настройки репозитория в системе контроля версий Git. На этой странице вы узнаете, как инициализировать репозиторий Git для нового или существующего проекта. Ниже представлены примеры жизненного цикла для репозиториев, созданных локально и клонированных из удаленных репозиториев. Для работы с этим руководством требуются начальные знания о работе с интерфейсом командной строки.

    В данном руководстве обсуждаются следующие основные вопросы:

    • Инициализация нового репозитория Git
    • Клонирование существующего репозитория Git
    • Коммит измененной версии файла в репозиторий
    • Конфигурирование репозитория Git для удаленной совместной работы
    • Распространенные команды для управления версиями Git

    По окончании данного модуля вы должны уметь создавать репозиторий Git, использовать основные команды Git, выполнять коммит измененного файла, просматривать историю проекта и настраивать соединение с сервисом хостинга Git (Bitbucket).

    Что такое репозиторий Git?

    Репозиторий Git — это виртуальное хранилище проекта. В нем можно хранить версии кода для доступа по мере необходимости.

    Инициализация нового репозитория: git init

    Для создания нового репозитория используется команда git init . Команду git init выполняют только один раз для первоначальной настройки нового репозитория. Выполнение команды приведет к созданию нового подкаталога .git в вашем рабочем каталоге. Кроме того, будет создана новая главная ветка.

    Создание версии существующего проекта с использованием нового репозитория Git

    В этом примере предполагается, что у вас уже есть папка проекта, в которой вы и хотите создать репозиторий. Выполните команду cd для перехода к папке проекта, а затем выполните команду git init .

    git branch

    Связанные материалы
    git branch
    СМ. РЕШЕНИЕ
    Изучите Git с помощью Bitbucket Cloud
    cd /path/to/your/existing/code 
    git init

    Указание в команде git init существующего каталога проекта приведет к исполнению описанной выше инициализации, но только на уровне этого каталога проекта.

    git init

    Перейдите на страницу git init, чтобы получить подробные сведения о команде git init .

    Клонирование существующего репозитория: git clone

    Если проект уже настроен в центральном репозитории, наиболее распространенным способом создать его локальный клон является команда clone. Клонирование, как и команда git init , обычно выполняется один раз. Получив рабочую копию, разработчик в дальнейшем выполняет все операции контроля версий из своего локального репозитория.

    git clone

    Команду git clone выполняют для создания копии (клонирования) удаленного репозитория. В качестве параметра в команду git clone передается URL-адрес репозитория. Git поддерживает несколько различных сетевых протоколов и соответствующих форматов URL-адресов. В этом примере используется SSH-протокол Git. URL-адреса SSH в Git имеют следующий шаблон: git@HOSTNAME:USERNAME/REPONAME.git

    Пример URL-адреса SSH в Git имеет вид: git@bitbucket.org:rhyolight/javascript-data-store.git , а ниже приведены значения шаблонных параметров:

    • HOSTNAME: bitbucket.org
    • USERNAME: rhyolight
    • REPONAME: javascript-data-store

    После исполнения команды последние версии файлов из главной ветки удаленного репозитория будут загружены и помещены в новый каталог. Имя нового каталога будет соответствовать параметру REPONAME. В данном случае это javascript-data-store . В каталоге будет вся история удаленного репозитория и только что созданная главная ветка.

    Дополнительную информацию об использовании команды git clone и поддерживаемых форматах URL-адресов в Git см. на странице git clone.

    Сохранение изменений в репозитории: git add и git commit

    У вас появился репозиторий, созданный путем клонирования или инициализации. Теперь вы можете выполнять коммиты изменений в версиях файлов. В следующем примере предполагается, что вы настроили проект в каталоге /path/to/project . В этом примере предлагаются следующие шаги.

    • Измените каталоги на /path/to/project
    • Создайте новый файл CommitTest.txt с текстом ~«тест для обучения работе с Git»~
    • С помощью команды git add добавьте файл CommitTest.txt в репозиторий проиндексированных файлов
    • Создайте новый коммит с комментарием, описывающим, что именно было изменено в коммите
    cd /path/to/project 
    echo "test content for git tutorial" >> CommitTest.txt
    git add CommitTest.txt
    git commit -m "added CommitTest.txt to the repo"

    По завершении этого примера файл CommitTest.txt добавится к истории репозитория, и репозиторий будет отслеживать последующие изменения в файле.

    В этом примере представлены две новые команды в Git: add и commit . Этот очень упрощенный пример. Подробнее обе команды объяснены на страницах git add и git commit. Команду git add часто используют с флагом —all . Команда git add —all добавляет все измененные и неотслеживаемые файлы в репозиторий и обновляет дерево изменений репозитория.

    Совместная работа в разных репозиториях: git push

    Важно понимать, что рабочая копия в Git существенно отличается от рабочей копии, получаемой при загрузке исходного кода из репозитория SVN. В отличие от SVN, в Git нет разницы между рабочими копиями и центральным репозиторием — все они являются полноценными репозиториями Git.

    Поэтому совместная работа в Git принципиально отличается от совместной работы в SVN. В SVN работа строится на отношении между центральным репозиторием и рабочей копией, а модель совместной работы в Git основана на взаимодействии между репозиториями. Вместо загрузки рабочей копии в центральный репозиторий SVN в Git вы отправляете коммиты из одного репозитория в другой или копируете их в обратном направлении.

    Вы легко можете задавать особую роль определенным репозиториям Git. Например, обозначив один из репозиториев Git как «центральный», вы можете воспроизвести централизованный процесс с использованием Git. Такой подход требует общих договоренностей, он не встроен в саму систему контроля версий.

    Сравнение чистых и клонированных репозиториев

    Если в предыдущем разделе («Инициализация нового репозитория») для настройки локального репозитория вы использовали команду git clone , ваш репозиторий уже готов к удаленной совместной работе. Команда git clone автоматически настроит репозиторий, в котором значение remote будет соответствовать URL-адресу Git, из которого был клонирован репозиторий. Это означает, что после изменений файла и выполнения коммита вы можете сразу выполнить команду git push , чтобы отправить эти изменения в удаленный репозиторий.

    Если вы использовали команду git init для создания репозитория с нуля, у вас не будет удаленного репозитория, в который можно помещать изменения. Зачастую для инициализации нового репозитория пользователь переходит на сервис Git-хостинга (например, Bitbucket) и создает репозиторий там. Данный сервис предоставит URL-адрес Git, который затем можно добавить в локальный репозиторий Git. После этого можно выполнять команду git push в репозиторий на хостинге. После создания удаленного репозитория на выбранном хостинге вам понадобится обновить локальный репозиторий, выполнив привязку. Этот процесс описывается далее в руководстве по установке и настройке.

    Если вы предпочитаете поддерживать собственный удаленный репозиторий, вам нужно создать «чистый репозиторий». Для этого команды git init и git clone принимают аргумент —bare . Наиболее популярная причина использования чистого репозитория — создание удаленного центрального репозитория Git

    Конфигурирование и настройка: git config

    После настройки удаленного репозитория его URL-адрес нужно добавить в локальный файл git config , а также создать вышестоящую ветку для локальных веток. Такую возможность предоставляет команда git remote .

    git remote add

    Эта команда привяжет удаленный репозиторий по адресу <remote_repo_url> к ссылке в вашем локальном репозитории <remote_name> . После привязки удаленного репозитория в него можно будет отправлять локальные ветки с помощью команды push.

    git push -u

    Эта команда поместит ветку локального репозитория с именем в удаленный репозиторий .

    Дополнительную информацию о команде git remote см. на странице удаленной работы в Git .

    Помимо конфигурирования URL-адреса удаленного репозитория, вам может потребоваться установить глобальные параметры Git, например имя пользователя или электронный адрес. Команда git config позволяет настроить инсталляцию Git (или отдельный репозиторий) из командной строки. С помощью этой команды можно установить любые настройки: от информации о пользователе до его предпочтений и характеристик репозитория. Ниже перечислены распространенные варианты конфигурации.

    Git хранит варианты конфигурации в трех различных файлах, позволяющих ограничивать область видимости на уровне отдельных репозиториев (локальный), пользователя (глобальный) или всей системы (системный):

    • Локальный: /.git/config — настройки на уровне репозитория.
    • Глобальный: /.gitconfig — настройки на уровне пользователя. Здесь хранятся настройки с флагом —global.
    • Системный: $(prefix)/etc/gitconfig — настройки на уровне всей системы.

    Укажите имя автора, которое будет использоваться для всех коммитов в текущем репозитории. Обычно для настройки параметров конфигурации для текущего пользователя используется флаг —global .

    git config --global user.name

    Эта команда задает имя автора, которое будет использоваться для всех коммитов, выполненных текущим пользователем.

    Добавление аргумента —local или выполнение команды без параметра уровня конфигурации приведет к установке значения user.name для текущего локального репозитория.

    git config --local user.email

    Эта команда задает адрес электронной почты автора, который будет использоваться для всех коммитов, выполненных текущим пользователем.

    git config —global alias.

    Создайте быстрые клавиши для команды Git. Это мощная возможность для создания собственных комбинаций клавиш для часто используемых команд Git. Ниже показан упрощенный пример:

    git config --global alias.ci commit

    Так создается команда ci , которую можно использовать как сокращение команды git commit . Подробнее об алиасах в Git см. на странице git config.

    it config --system core.editor

    Выберите текстовый редактор, используемый для таких команд, как git commit , для всех пользователей текущего компьютера. Аргумент должен представлять собой команду, запускающую нужный редактор (например, vi). В этом примере представлен аргумент —system . Аргумент —system устанавливает настройку на уровне всей системы, включая всех пользователей и все репозитории на компьютере. Дополнительную информацию об уровнях конфигурации см. на странице удаленной работы с git.

    git config --global --edit

    В текстовом редакторе откройте файл глобальной конфигурации для редактирования вручную. Подробное руководство по настройке текстового редактора для Git см. на странице Git config.

    Пояснения

    Все варианты конфигурации сохраняются в обычных текстовых файлах, так что команда git config — это всего лишь удобный интерфейс командной строки. Как правило, установку Git следует настраивать только при начале работы на новом компьютере. В подавляющем большинстве случаев понадобится только флаг —global . Одно из важных исключений — необходимость переписать электронный адрес автора. Вы можете поставить личный электронный адрес для личных репозиториев и репозиториев с открытым исходным кодом, а рабочий электронный адрес — для рабочих репозиториев.

    Git хранит варианты конфигурации в трех различных файлах, что позволяет ограничивать область видимости на уровне отдельных репозиториев, пользователей или всей системы.

    • /.git/config — настройки на уровне репозитория.
    • ~/.gitconfig — личные настройки пользователя. Здесь хранятся настройки с флагом —global.
    • $(prefix)/etc/gitconfig — настройки на уровне всей системы.

    Если параметры, указанные в этих файлах, конфликтуют, локальные настройки переопределяют пользовательские настройки, которые в свою очередь переопределяют системные настройки. Если вы откроете один из этих файлов, вы увидите нечто подобное:

    [user] name = John Smith email = john@example.com [alias] st = status co = checkout br = branch up = rebase ci = commit [core] editor = vim

    Вы можете изменить эти значения вручную, эффект будет аналогичен использованию команды git config .

    Пример

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

    Представьтесь репозиторию Git с помощью команды git config

    git --global user.name "John Smith" git config --global user.email john@example.com

    Выберите любимый текстовый редактор

    git config --global core.editor vim

    Добавьте алиасы по типу SVN

    git config --global alias.st status 
    git config --global alias.co checkout
    git config --global alias.br branch
    git config --global alias.up rebase
    git config --global alias.ci commit

    Создастся файл ~ /.gitconfig , описанный в предыдущем разделе. Подробную информацию о команде git config см. на странице Git config.

    Резюме

    Мы показали, как создать репозиторий Git двумя способами: git init и git clone. Этим руководством можно пользоваться при необходимости управления исходным кодом ПО или другим контентом, при хранении которого требуется поддерживать версионность. Кроме того, были представлены команды git add, git commit, git push и git remote и показаны простые примеры их использования.

    Создание репозитория

    Вы можете создать новый репозиторий в личной учетной записи или в любой организации, где у вас имеются достаточные разрешения.

    Tip: Owners can restrict repository creation permissions in an organization. For more information, see «Restricting repository creation in your organization.»

    Tip: You can also create a repository using the GitHub CLI. For more information, see » gh repo create » in the GitHub CLI documentation.

    Creating a new repository from the web UI

    1. In the upper-right corner of any page, select

    Screenshot of a GitHub dropdown menu showing options to create new items. The menu item

    , then click New repository.

    Screenshot of the owner menu for a new GitHub repository. The menu shows two options, octocat and github.

  • Optionally, to create a repository with the directory structure and files of an existing repository, select the Choose a template dropdown menu and click a template repository. You’ll see template repositories that are owned by you and organizations you’re a member of or that you’ve used before. For more information, see «Creating a repository from a template.»
  • Optionally, if you chose to use a template, to include the directory structure and files from all branches in the template, and not just the default branch, select Include all branches.
  • Use the Owner dropdown menu to select the account you want to own the repository.

    Screenshot of a the first step in creating a GitHub repository. The

    Type a name for your repository, and an optional description.

    • You can create a README, which is a document describing your project. For more information, see «About READMEs.»
    • You can create a .gitignore file, which is a set of ignore rules. For more information, see «Ignoring files.»
    • You can choose to add a software license for your project. For more information, see «Licensing a repository.»

    Creating a new repository from a URL query

    You can use query parameters to pre-fill form fields when creating a new repository. Query parameters are optional parts of a URL you can customize to share a specific web page view, such as search filter results or an issue template on GitHub. To specify values for the predefined query parameters, you must match the key and value pair.

    Pre-filling form fields with a URL query may be useful if you often want to create repositories with the same default settings. For example, a teacher may want each student in a class to create a repository in their personal account with the same name, description and visibility. Using a URL query, the teacher can create a link that pre-fills the repository name, description and visibility fields and share it with the whole class.

    You must have the proper permissions for any action to use the equivalent query parameter. For example, you must have permission to create a repository in an organization to specify the organization as the repository owner in a query parameter. For more information, see «Repository roles for an organization.»

    If you create an invalid URL using query parameters, or if you don’t have the proper permissions, the invalid query parameters will be ignored and the rest of the URL will function as normal. If you create a URL that exceeds the server limit, the URL will return a 414 URI Too Long error page.

    Query parameter Example Valid values
    name https://github.com/new?name=test-repo&owner=avocado-corp creates a repository called «test-repo» owned by the «avocado-corp» organization. Any valid repository name. Spaces must be replaced with + or %20 .
    description https://github.com/new?description=An+exciting+repository&visibility=private&owner=octocat creates a repo with the description «An exciting repository» with private visibility owned by @octocat. Any string. Spaces must be replaced with + or %20 .
    visibility https://github.com/new?visibility=private creates a repository with private visibility. public
    private
    owner https://github.com/new?owner=avocado-corp&visibility=public creates a public repository owned by the «avocado-corp» organization. Any valid organization name or username. Alternatively, while signed in use @me to specify your user account as the owner.
    template_owner and template_name https://github.com/new?owner=avocado-corp&template_owner=avocado-corp&template_name=octo-repo creates a repository owned by the «avocado-corp» using the avocado-corp’s template «octo-repo». The username of the template owner and the name of the repository template.

    Further reading

    • «Managing user access to your organization’s repositories»
    • Open Source Guides
    • GitHub Skills

    Как создать новый репозиторий в Git

    В данной статье мы рассмотрим, как создать новый пустой Git репозиторий. Мы создадим локальный репозиторий, а также рассмотрим, как создать удаленный репозиторий на примере Github.

    Как создать новый пустой репозиторий

    Создайте пустую директорию для вашего будущего репозитория и перейдите в нее:

    mkdir myproject cd myproject

    Теперь, чтобы создать в нашей директории новый репозиторий, выполните команду:

    git init

    В результате будет создан новый локальный пустой репозиторий. На экран будет выведено сообщение вида:

    Initialized empty Git repository in /path/to/myproject/.git/

    В директории myproject появится скрытая папка .git. Ее можно увидеть, выполнив команду ls -al

    Как создать репозиторий из существующих файлов

    Предположим, что у вас уже есть какой-то проект, для которого вы хотите создать Git репозиторий. Создание репозитория выполняется точно также, как описано выше. Перейдите в папку проекта:

    cd myproject
    git init

    Теперь можно добавить все файлы в индекс и сделать первый коммит:

    git add -A git commit -m "First commit."

    Как создать удаленный репозиторий (на примере Github)

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

    Перейдите на https://github.com и войдите в свой аккаунт. Нажмите кнопку New repository (Новый репозиторий). На открывшейся странице введите имя репозитория (Repository name) и нажмите кнопку Create repository.

    В своем локальном репозитории теперь выполните команду:

    git remote add origin https://github.com/username/myproject.git

    Данная команда добавит удаленный репозиторий с именем origin , который указывает на ваш Github-репозиторий. Пока мы только добавили запись об удаленном репозитории.

    Теперь можно выполнить команду git push , чтобы отправить все ваши изменения на удаленный репозиторий:

    git push -u origin master

    Вам нужно будет ввести логин и пароль аккаунта в Github. Результат команды будет примерно следующим:

    $ git push -u origin master Username for 'https://github.com': youremail@email.com Password for 'https://youremail@email.com@github.com': Counting objects: 4, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (4/4), 252 bytes | 252.00 KiB/s, done. Total 4 (delta 0), reused 0 (delta 0) remote: remote: Create a pull request for 'master' on GitHub by visiting: remote: https://github.com/username/myproject/pull/new/master remote: To https://github.com/username/myproject.git * [new branch] master -> master Branch 'master' set up to track remote branch 'master' from 'origin'.

    В команде git push мы использовали ключ -u . Данный ключ используется для того, чтобы связать локальную ветку master с удаленной origin/master (в нашем случае удаленной ветки не существовало, она автоматически была создана). Так как связь установлена, то последующие выполнения git push из ветки мастер можно выполнять без указания веток. То есть вместо git push origin master ), можно просто выполнять команду git push .

    Смотрите также:

    • Как изменить файлы в старом коммите (не последнем)
    • Как добавить все файлы в коммит, кроме одного
    • Как создать ветку из предыдущего коммита
    • Команда Git stash. Как прятать изменения в Git
    • Как показать файлы, которые будут добавлены в текущий коммит
    • Как объединить коммиты
    • Как применить патч
    • Как узнать версию Git
    • Как добавить коммит
    • Как отменить коммит
    • Опубликовано: 19.09.2018
    • yuriy
  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *