Github clone repository linux

Содержание
  1. Git для начинающих. Урок 2. Создание и клонирование репозитория
  2. Видеоурок. Часть 1. Практика
  3. Видеоурок. Часть 2
  4. Конспект урока
  5. Что такое репозиторий
  6. Можно ли работать с git локально
  7. Локальный репозиторий
  8. Удаленный репозиторий, зачем он нужен
  9. Что такое клонирование
  10. Как клонировать готовый проект
  11. Как клонировать проект в другую папку
  12. Свой удаленный репозиторий
  13. Где держать репозиторий
  14. Как создать репозиторий в github
  15. Права на репозиторий, публичные и приватные
  16. Что такое ssh-ключи
  17. Как сгенерировать ssh-ключ
  18. Как добавить ssh-ключ в настройках github
  19. Два способа создания проекта
  20. Пустой проект
  21. Непустой проект
  22. Что могу посоветовать
  23. Как скопировать ssh-ключи с одной машины на другую
  24. Ссылки, которые могут пригодиться
  25. Как пользоваться GitHub на компьютере с Linux
  26. Установка git
  27. Синтаксис
  28. Создание проекта на локальном компьютере
  29. Отправка данных на GitHub
  30. Создание репозитория
  31. Заливаем проект в репозиторий на GitHub
  32. Получение файлов с GitHub
  33. Клонирование проекта
  34. Возможные ошибки
  35. 1. При попытке отправить данные на GitHub, получаем ошибку:
  36. Git Guides
  37. Get started with git and GitHub

Git для начинающих. Урок 2.
Создание и клонирование репозитория

Видеоурок. Часть 1. Практика

Все о репозиториях

  • что это такое
  • клонирование
  • публичные и приватные репозитории
  • создаем собственный репозиторий
  • Инициализация репозитория
  • Генерируем ssh-ключи
  • что это такое и зачем они нужны
  • генерируем свой ключ

Видеоурок. Часть 2

  • Что выбрать: github или bitbucket?
  • Копирование ssh-ключей

Конспект урока

Краткое содержание урока, основные инструкции для командной строки, полезные ссылки и советы.

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

Это каталог в файловой системе, где хранится информация о проекте:

  • файлы и папки проекта
  • история проекта
  • настройки проекта
  • служебная информация

Информация о репозитории хранится в скрытой папке .git в корне проекта.

Можно ли работать с git локально

Да, можно. Но при этом проект находится только на нашей машине и в случае поломки железа или случайной потери данных мы не сможем восстановить проект.

Локальный репозиторий

Это репозиторий, который хранится на нашей машине, в рабочей папке проекта. Это та самая скрытая папка .git

Удаленный репозиторий, зачем он нужен

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

Плюсы удаленного репозитория

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

Что такое клонирование

Это копирование удаленного репозитория на локальную машину. Обычно это первое действие при работе с проектом. При клонировании на нашу машину копируются файлы и папки проекта и вся его история. То есть мы получаем доступ к истории не с момента начала нашей работы над проектом, а с самого начала проекта.

Как клонировать готовый проект

В первую очередь, нужно получить ссылку на проект. Мы можем найти ее сами или получим готовую, например, на новой работе. Возьмем для примера репозиторий vuejs — https://github.com/vuejs/vue.git

Наберем в командной строке

При этом в текущем каталоге создастся папка vue, в ней окажутся все файлы проекта vue и специальная скрытая папка .git, то есть сам репозиторий, или информация о нем.

Как клонировать проект в другую папку

При клонировании по умолчанию создается папка с таким же названием, как и у репозитория. Но можно склонировать репозиторий и в другую папку вот так

Где vue-new — нужное название папки.

Свой удаленный репозиторий

Для своих проектов нам понадобится собственный репозиторий. Можно работать и локально, но плюсы удаленного мы уже рассматривали выше. Теперь нужно выбрать хостинг для наших git-проектов.

Где держать репозиторий

Есть множество вариантов, самые известные — это github и bitbucket. Нужно выбирать.

На самом деле не парьтесь. У них схожий функционал, и в начале работы с git мы не заметим разницы. bitbucket мне нравится больше из-за интерфейса, но в уроках выберем github из-за его большей популярности.

Чтобы продолжить уроки, нужно зарегистрироваться на github. Если у вас нет там аккаунта, то форму регистрации увидите сразу на главной странице — https://github.com/

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

После регистрации создание репозитория доступно с главной страницы github. При создании нужно указать название проекта и тип (публичный или приватный). На остальное пока не обращаем внимания.

Права на репозиторий, публичные и приватные

Есть 2 типа репозиториев:

  • публичный (public), открыт всем
  • приватный (private), доступен только определенному кругу лиц — в первую очередь, нам самим
Читайте также:  Обновление до windows 10 mobile с компьютера

Публичные репозитории хороши для opensource-проектов и чтобы показать в резюме. Пока нам это не нужно.

Для себя будем создавать приватные репозитории. Для этого нам понадобятся ssh-ключи.

Что такое ssh-ключи

ssh-ключи используются для идентификации клиента на сервере при подключении по безопасному ssh-протоколу. Другими словами, ssh-ключ нужен для того, чтобы пускать на сервер только определенных клиентов. Только тех, кому разрешен доступ к проекту.

ssh-ключ не имеет прямого отношения к git, но так репозитории находятся на удаленных серверах, то ssh-ключи используются для разграничения доступа к приватным репозиториям.

ssh-ключ состоит из пары ключей: публичного и приватного ключа. Это просто 2 текстовых файла:

  • /домашний-каталог/.ssh/id_rsa.pub — публичный
  • /домашний-каталог/.ssh/id_rsa — приватный

Публичный ключ передается сторонним серверам, например, github, для открытия доступа на эти сервера. Приватный ключ хранится только на нашей машине и никому не передается. То есть когда у нас просят ssh-ключ, чтобы дать доступ на какой-нибудь сервер, мы отдаем именно публичный ключ, id_rsa.pub

Как сгенерировать ssh-ключ

ssh-ключи сами собой не появляются, но стоит проверить, возможно, они были установлены раньше. Запустим в терминале команды

Если видим файлы id_rsa и id_rsa.pub — отлично, ключи уже есть.

Если этих файлов нет, то нужно сгенерировать ключи утилитой ssh-keygen. В Windows она устанавливается вместе с git, в Linux и MacOS при необходимости установите. В Linux, например, вот так

После этого нужно сгенерировать пару ключей, запустив команду в терминале

Появились файлы id_rsa и id_rsa.pub — значит, ключи успешно сгенерированы.

known_hosts — это файл, в котором ssh прописывает сервера, на которые мы заходим. При первом подключении к github нужно будет разрешить доступ к github.com (напечатать yes в терминале)

Как добавить ssh-ключ в настройках github

Открываем публичный ключ id_rsa.pub и копируем его содержимое. В настройках github ищем раздел «SSH и GPG keys» — https://github.com/settings/keys. Жмем «New SSH key», задаем название ключа, например, имя, и вставляем форму публичный ключ, прямо текстом. Все, теперь у нас есть доступ к нашим приватным репозиториям.

Два способа создания проекта

Первый, когда мы начинаем новый проект. Удобнее будет создать репозиторий на github и склонировать пустой проект на локальную машину.

Второй, когда у нас уже есть проект. Нужно зайти в папку проекта и связать его с уже существующим репозиторием на github. Это называется инициализация.

Рассмотрим оба способа.

Пустой проект

Создаем приватный репозиторий на github, назовем его first-site. Я зарегистрировался под именем Webdevkin, моя ссылка для клонирования будет такая — git@github.com:Webdevkin/first-site.git. Ваша зависит от имени пользователя.

Идем в командную строку и запускаем

В текущей папке получим новую папку с названием first-site — это и есть наш проект.

P.S. У вас склонировать этот репозиторий не получится — он закрытый. Создайте свой 🙂

Непустой проект

Допустим, у нас на локальной машине уже есть проект second-site. Создаем в github репозиторий second-site. Заходим в папку проекта и выполняем команды

Все, можно приступать к работе над проектом. Команды add, commit и push мы разберем в следующих уроках.

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

Что могу посоветовать

  • github или bitbucket? Для личных проектов неважно, оба сервиса разрешают бесплатно создавать приватные репозитории. Для open source или резюме — github
  • не увлекайтесь клонированием в папку со своим названием. Есть шанс запутаться, самому или коллегам
  • не путайте публичный и приватный ключи. Отдаем вовне только публичный ключ id_rsa.pub
  • при смене рабочей машины можно не генерировать ssh-ключи заново, а скопировать их со старой машины. Тогда не придется заново прописывать новые ключи на серверах

Немного подробнее о копировании ssh-ключей

Как скопировать ssh-ключи с одной машины на другую

Хочу немного затронуть эту тему отдельно. Генерировать ключ на новой машине не обязательно. Но нужно выполнить такие действия

  • Скопировать id_rsa и id_rsa.pub со старой машины на новую
  • Посмотреть права на файлы, возможно, ключи окажутся слишком «открытыми» для записи и потребуется сменить им права доступа — sudo chmod 700

/.ssh/*

  • Выполнить команду ssh-add
  • Ссылки, которые могут пригодиться

    • github — https://github.com/
    • bitbucket — https://bitbucket.org/
    • подробнее об ssh-ключах (en) — connecting-to-github-with-ssh

    На этом все. В следующем уроке мы сделаем первые изменения в проекте и начнем понимать, в чем заключается прелесть git.

    Источник

    Как пользоваться GitHub на компьютере с Linux

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

    В данной статье приведены примеры использования сервиса на компьютере под управлением операционных систем семейства Linux. Мы рассмотрим, как создать проект на локальном компьютере и залить его на сервис с помощью командной строки. Рассмотренные варианты использования git также можно применять на desktop системах, запустив окно терминала.

    Установка git

    Управление выполняется с помощью приложения git. Если его нет в системе, установку можно выполнить из репозитория.

    Если используем CentOS / Red Hat:

    yum install git-core

    Если используем Ubuntu / Debian:

    apt-get install git

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

    Синтаксис

    Команды имеют следующий синтаксис:

    * полный перечень опций, команд и аргументов можно получить командой man git.

    Создание проекта на локальном компьютере

    Прежде чем отправить проект на GitHub, создаем его на нашем компьютере. Для этого переходим в каталог с файлами проекта:

    Инициализируем проект для git:

    Мы получим ответ похожий на:

    Initialized empty Git repository in /projects/.git/

    Это означает, что репозиторий git создан.

    Теперь добавим файлы в репозиторий:

    * данной командой мы добавили папку и ее содержимое в репозиторий git.

    Отправка данных на GitHub

    Теперь можно отправить данные на сервис. Для этого у нас должна быть зарегистрированная учетная запись и создан репозиторий на GitHub.

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

    Переходим на портал github.com и входим в систему или проходим несложную регистрацию:

    Проходим процесс подтверждения, что мы не робот. Затем завершаем несколько шагов регистрации, нажимая Submit. В итоге мы получим письмо на адрес электронной почты, которую указали при регистрации. Необходимо будем подтвердить email, перейдя в письме по кнопке Verify email address.

    Создаем репозиторий. Для этого кликаем по иконке профиля и переходим в раздел Your repositories:

    И кликаем по кнопке New. В следующем окне даем название репозиторию и нажимаем Create repository:

    Мы увидим страницу с путем к репозиторию:

    Заливаем проект в репозиторий на GitHub

    Добавляем комментарий к нашему проекту:

    git commit -m «Очередное изменение проекта» -a

    * где Очередное изменение проекта — произвольный комментарий; параметр -a указывает, что комментарий нужно применить ко всем измененным файлам.

    Теперь подключаемся к созданному репозиторию:

    git remote add origin https://github.com/dmosktest/project1.git

    * где dmosktest — логин, который был указан при регистрации на github, а project1 — название, которое мы задали, когда создавали репозиторий.
    * удалить удаленный репозиторий можно командой git remote rm origin.

    Закидываем проект на GitHub:

    git push origin master

    * где master — ветка проекта (веток может быть несколько).

    В нашем проекте на GitHub должны появиться файлы проекта:

    Получение файлов с GitHub

    Для загрузки на компьютер файлов, создаем каталог с проектом и переходим в него:

    Проводим начальную настройку локального репозитория:

    Подключаемся к удаленному репозиторию:

    git remote add origin https://github.com/dmosktest/project1.git

    Скачиваем проект командой:

    git pull https://github.com/dmosktest/project1.git master

    Клонирование проекта

    Например, использую наш репозиторий:

    git clone https://github.com/dmosktest/project1.git

    * данная команда создаст в текущей папке каталог project1 и инициализирует его как локальный репозиторий git. Также загрузит файлы проекта.

    Возможные ошибки

    1. При попытке отправить данные на GitHub, получаем ошибку:

    error: src refspec master does not match any.
    error: failed to push some refs to ‘https://github.com/dmosktest/project1.git’

    * где dmosktest/project1.git — путь к нашему репозиторию.

    Причина: проект ни разу не был зафиксирован (закоммичен).

    Решение: добавляем комментарий к нашему проекту:

    Источник

    Git Guides

    The git clone command is used to create a copy of a specific repository or branch within a repository.

    Git is a distributed version control system. Maximize the advantages of a full repository on your own machine by cloning.

    What Does git clone Do?

    When you clone a repository, you don’t get one file, like you may in other centralized version control systems. By cloning with Git, you get the entire repository — all files, all branches, and all commits.

    Cloning a repository is typically only done once, at the beginning of your interaction with a project. Once a repository already exists on a remote, like on GitHub, then you would clone that repository so you could interact with it locally. Once you have cloned a repository, you won’t need to clone it again to do regular development.

    The ability to work with the entire repository means that all developers can work more freely. Without being limited by which files you can work on, you can work on a feature branch to make changes safely. Then, you can:

    • later use git push to share your branch with the remote repository
    • open a pull request to compare the changes with your collaborators
    • test and deploy as needed from the branch
    • merge into the master branch.

    How to Use git clone

    Common usages and options for git clone

    • git clone [url] : Clone (download) a repository that already exists on GitHub, including all of the files, branches, and commits.
    • git clone —mirror : Clone a repository but without the ability to edit any of the files. This includes the refs, or branches. You may want to use this if you are trying to create a secondary copy of a repository on a separate remote and you want to match all of the branches. This may occur during configuration using a new remote for your Git hosting, or when using Git during automated testing.
    • git clone —single-branch : Clone only a single branch
    • git clone —sparse : Instead of populating the working directory with all of the files in the current commit recursively, only populate the files present in the root directory. This could help with performance when cloning large repositories with many directories and sub-directories.
    • `git clone —recurse-submodules[=

    You can see all of the many options with git clone in git-scm’s documentation.

    Examples of git clone

    The most common usage of cloning is to simply clone a repository. This is only done once, when you begin working on a project, and would follow the syntax of git clone [url] .

    git clone A Branch

    git clone —single-branch : By default, git clone will create remote tracking branches for all of the branches currently present in the remote which is being cloned. The only local branch that is created is the default branch.

    But, maybe for some reason you would like to only get a remote tracking branch for one specific branch, or clone one branch which isn’t the default branch. Both of these things happen when you use —single-branch with git clone .

    This will create a clone that only has commits included in the current line of history. This means no other branches will be cloned. You can specify a certain branch to clone, but the default branch, usually master , will be selected by default.

    To clone one specific branch, use:

    git clone [url] —branch [branch] —single-branch

    Cloning only one branch does not add any benefits unless the repository is very large and contains binary files that slow down the performance of the repository. The recommended solution is to optimize the performance of the repository before relying on single branch cloning strategies.

    git clone With SSH

    Depending on how you authenticate with the remote server, you may choose to clone using SSH.

    If you choose to clone with SSH, you would use a specific SSH path for the repository instead of a URL. Typically, developers are authenticated with SSH from the machine level. This means that you would probably clone with HTTPS or with SSH — not a mix of both for your repositories.

    • git branch : This shows the existing branches in your local repository. You can also use git branch [banch-name] to create a branch from your current location, or git branch —all to see all branches, both the local ones on your machine, and the remote tracking branches stored from the last git pull or git fetch from the remote.
    • git pull : Updates your current local working branch with all new commits from the corresponding remote branch on GitHub. git pull is a combination of git fetch and git merge .
    • git push : Uploads all local branch commits to the remote.
    • git remote -v : Show the associated remote repositories and their stored name, like origin .

    Get started with git and GitHub

    Review code, manage projects, and build software alongside 40 million developers.

    Источник

    Читайте также:  Windows right click script
    Оцените статью