How to clone private repository github
How to clone private repository github
Git для начинающих. Урок 2.
Создание и клонирование репозитория
Видеоурок. Часть 1. Практика
Все о репозиториях
Видеоурок. Часть 2
Конспект урока
Краткое содержание урока, основные инструкции для командной строки, полезные ссылки и советы.
Что такое репозиторий
Это каталог в файловой системе, где хранится информация о проекте:
Можно ли работать с git локально
Да, можно. Но при этом проект находится только на нашей машине и в случае поломки железа или случайной потери данных мы не сможем восстановить проект.
Локальный репозиторий
Удаленный репозиторий, зачем он нужен
Это репозиторий, который хранится в облаке, на сторонних сервисах, специально созданных под работу с проектами git.
Плюсы удаленного репозитория
Что такое клонирование
Это копирование удаленного репозитория на локальную машину. Обычно это первое действие при работе с проектом. При клонировании на нашу машину копируются файлы и папки проекта и вся его история. То есть мы получаем доступ к истории не с момента начала нашей работы над проектом, а с самого начала проекта.
Как клонировать готовый проект
Наберем в командной строке
Как клонировать проект в другую папку
При клонировании по умолчанию создается папка с таким же названием, как и у репозитория. Но можно склонировать репозиторий и в другую папку вот так
Свой удаленный репозиторий
Для своих проектов нам понадобится собственный репозиторий. Можно работать и локально, но плюсы удаленного мы уже рассматривали выше. Теперь нужно выбрать хостинг для наших git-проектов.
Где держать репозиторий
На самом деле не парьтесь. У них схожий функционал, и в начале работы с git мы не заметим разницы. bitbucket мне нравится больше из-за интерфейса, но в уроках выберем github из-за его большей популярности.
Как создать репозиторий в github
После регистрации создание репозитория доступно с главной страницы github. При создании нужно указать название проекта и тип (публичный или приватный). На остальное пока не обращаем внимания.
Права на репозиторий, публичные и приватные
Есть 2 типа репозиториев:
Публичные репозитории хороши для opensource-проектов и чтобы показать в резюме. Пока нам это не нужно.
Для себя будем создавать приватные репозитории. Для этого нам понадобятся ssh-ключи.
Что такое ssh-ключи
ssh-ключи используются для идентификации клиента на сервере при подключении по безопасному ssh-протоколу. Другими словами, ssh-ключ нужен для того, чтобы пускать на сервер только определенных клиентов. Только тех, кому разрешен доступ к проекту.
ssh-ключ не имеет прямого отношения к git, но так репозитории находятся на удаленных серверах, то ssh-ключи используются для разграничения доступа к приватным репозиториям.
ssh-ключ состоит из пары ключей: публичного и приватного ключа. Это просто 2 текстовых файла:
Публичный ключ передается сторонним серверам, например, github, для открытия доступа на эти сервера. Приватный ключ хранится только на нашей машине и никому не передается. То есть когда у нас просят ssh-ключ, чтобы дать доступ на какой-нибудь сервер, мы отдаем именно публичный ключ, id_rsa.pub
Как сгенерировать ssh-ключ
ssh-ключи сами собой не появляются, но стоит проверить, возможно, они были установлены раньше. Запустим в терминале команды
Если этих файлов нет, то нужно сгенерировать ключи утилитой ssh-keygen. В Windows она устанавливается вместе с git, в Linux и MacOS при необходимости установите. В Linux, например, вот так
После этого нужно сгенерировать пару ключей, запустив команду в терминале
Как добавить ssh-ключ в настройках github
Два способа создания проекта
Первый, когда мы начинаем новый проект. Удобнее будет создать репозиторий на github и склонировать пустой проект на локальную машину.
Второй, когда у нас уже есть проект. Нужно зайти в папку проекта и связать его с уже существующим репозиторием на github. Это называется инициализация.
Рассмотрим оба способа.
Пустой проект
Идем в командную строку и запускаем
Непустой проект
Допустим, у нас на локальной машине уже есть проект second-site. Создаем в github репозиторий second-site. Заходим в папку проекта и выполняем команды
Все, можно приступать к работе над проектом. Команды add, commit и push мы разберем в следующих уроках.
Это единственный урок, в котором мы разбирались с тонкостями репозиториев. В дальнейшем будем считать, что репозиторий = проект.
Что могу посоветовать
Немного подробнее о копировании ssh-ключей
Как скопировать ssh-ключи с одной машины на другую
Хочу немного затронуть эту тему отдельно. Генерировать ключ на новой машине не обязательно. Но нужно выполнить такие действия
Ссылки, которые могут пригодиться
На этом все. В следующем уроке мы сделаем первые изменения в проекте и начнем понимать, в чем заключается прелесть git.
GitHub: How to make a fork of public repository private?
How can I fork a public repository, but make my fork private? I do have the subscription to support private repositories.
7 Answers 7
Trending sort
Trending sort is based off of the default sorting method — by highest score — but it boosts votes that have happened recently, helping to surface more up-to-date answers.
It falls back to sorting by highest score if no posts are trending.
Switch to Trending sort
The answers are correct but don’t mention how to sync code between the public repo and the fork.
Here is the full workflow (we’ve done this before open sourcing React Native):
First, duplicate the repo as others said (details here):
Create a new repo (let’s call it private-repo ) via the Github UI. Then:
Clone the private repo so you can work on it:
To pull new hotness from the public repo:
Awesome, your private repo now has the latest code from the public repo plus your changes.
Use the GitHub UI to create a fork of the public repo (the small «Fork» button at the top right of the public repo page). Then:
Now you can create a pull request via the Github UI for public-repo, as described here.
Once project owners review your pull request, they can merge it.
Of course the whole process can be repeated (just leave out the steps where you add remotes).
There is one more option now ( January-2015 )
The current answers are a bit out of date so, for clarity:
The short answer is:
This is documented on GitHub: duplicating-a-repository
You have to duplicate the repo
You can see this doc (from github)
To create a duplicate of a repository without forking, you need to run a special clone command against the original repository and mirror-push to the new one.
In the following cases, the repository you’re trying to push to—like exampleuser/new-repository or exampleuser/mirrored—should already exist on GitHub. See «Creating a new repository» for more information.
Mirroring a repository
To make an exact duplicate, you need to perform both a bare-clone and a mirror-push.
Open up the command line, and type these commands:
If you want to mirror a repository in another location, including getting updates from the original, you can clone a mirror and periodically push the changes.
As with a bare clone, a mirrored clone includes all remote branches and tags, but all local references will be overwritten each time you fetch, so it will always be the same as the original repository. Setting the URL for pushes simplifies pushing to your mirror. To update your mirror, fetch updates and push, which could be automated by running a cron job.
GitHub now has an import option that lets you choose whatever you want your new imported repository public or private
2021 Update
I am new to git, so wanted to do as much as possible in the eclipse GUI (v2020-12; EGit v5.11). Details below.
—> The import method in other answers was designed only for Subversion, Mercurial, or TFS projects. It is not supported by GitHub for git projects, as I learned firsthand. It might work, but why risk it?
Repositories and GitHub Connection
eclipse/org.aspectj is the original public repo and the upstream remote for fetching
cb4/org.aspectj is the fork and the origin remote for pushing
cb4/remPrivAJ is the remote private repo and the private remote for pushing
I:\local is the local repo
STEPS
At this point, you have forked a public repo into your private repository. To see how to push private changes to your fork and then open a pull request against the original public repo, see my answer here. The resulting configuration looks like this:
How to create a private GitHub repository example
Ever since they became a standard offering on a free tier, private GitHub repositories have become popular with developers. However, many developers become discouraged when they trigger a fatal: repository not found error message in their attempts to clone a private GitHub repository.
In this tutorial, we will demonstrate how to create a private GitHub repository, then demonstrate how to securely clone and pull your code locally without the need to deal with fatal errors.
How to create a private GitHub repository
There aren’t any special steps required to create a private GitHub repository. They’re exactly the same as if you were to create a standard GitHub repository, albeit with one difference: You click the radio button for the Private option.
How to clone a private GitHub repository
The first thing a developer wants to do after the creation of a GitHub repository is to clone it. For a typical repo, you would grab the repository’s URL and issue a git clone command. Unfortunately, it’s not always that simple on GitHub’s free tier.
If you’re lucky, when you attempt to clone your private GitHub repository, you’ll be prompted for a username, after which an OpenSSH window will then query for your password. If you provide the correct credentials, the private repository will clone.
However, if OpenSSH isn’t configured on your system, an attempt to clone the private repository will result in the fatal: repository not found GitHub error message.
The fatal ‘repository not found’ error on GitHub.
Fix repository not found errors
If you do encounter this dreaded error message, don’t fret, because there’s a simple fix. Prepend the private GitHub repository’s username and password to the URL. For example, if my username was cam and the password was 1234, the git clone command would look as follows:
git clone https://cam:[email protected]/cameronmcnz/private-github-repo.git
Since you embedded the credentials in the GitHub URL, the clone command takes care of the authorization process, and the command will successfully create a private GitHub repository clone on your local machine. From that point on, all future git pull and git fetch commands will run successfully.
And that’s it. Hopefully this how to create a private GitHub repository example will get you started with your cloud based Git tooling, and help you avoid any of the pitfalls many people face when trying to create and clone a repo that isn’t public.
Microsoft’s Azure Advisor service offers recommendations based on five categories. Learn these categories and the roles they play.
Researchers with Palo Alto Networks took the stage at Black Hat to explain how configurations and system privileges in Kubernetes.
GitHub Community
Pinned Discussions
Use alt + click/return to exclude labels.
Categories
I am here to communicate and ask the question to the community and to learn from the community member.
1 You must be logged in to vote
Hey, hope all the github community are good. So i was wondering if i can have more clarification about my situtation. A few week ago i’ve decided to create with a mate a new github repo. So to do t…
1 You must be logged in to vote
Is there a procedure to follow? I have been trying to register a new account under a new user or organization but it does not appear anywhere on the internet as even active, it just shows taken.
1 You must be logged in to vote
what can we do to be active in the community
Marked as answer
@Mohdcode, to be active on GitHub, you can make some PRs, push some commits, participate in various open source projects or answer questions on this discussion forums.
2 You must be logged in to vote
What will happen to my github copilot access?
Will beta testers still be able to use copilot after Copilot is public and pricing is introduced?
2 You must be logged in to vote
My University (UAF) has not provided me with any email. But when I go to GitHub Education they require me to put the email issued by the university. I am totally confused about what to do next.
1 You must be logged in to vote
I finally decided to apply for GitHub students account today. However, when I tried sending my application I was immediately greeted with this message:
“There are outstanding issues with your GitHu…
Marked as answer
Thank you for letting me know about the link, I’ve updated it 😄
But I do understand that is frustrating and I wish I could help further besides pointing in the right direction.
Cloning and forking repositories from GitHub Desktop
In this article
You can use GitHub Desktop to clone and fork repositories that exist on GitHub.
About local repositories
Repositories on GitHub are remote repositories. You can clone or fork a repository with GitHub Desktop to create a local repository on your computer.
You can create a local copy of any repository on GitHub that you have access to by cloning the repository. If you own a repository or have write permissions, you can sync between the local and remote locations. For more information, see «Syncing your branch.»
When you clone a repository, any changes you push to GitHub will affect the original repository. To make changes without affecting the original project, you can create a separate copy by forking the repository. You can create a pull request to propose that maintainers incorporate the changes in your fork into the original upstream repository. For more information, see «About forks.»
When you try to use GitHub Desktop to clone a repository that you do not have write access to, GitHub Desktop will prompt you to create a fork automatically. You can choose to use your fork to contribute to the original upstream repository or to work independently on your own project. Any existing forks default to contributing changes to their upstream repositories. You can modify this choice at any time. For more information, see «Managing fork behavior».
You can also clone a repository directly from GitHub or GitHub Enterprise. For more information, see «Cloning a repository from GitHub to GitHub Desktop».
Cloning a repository
In the File menu, click Clone Repository.
Click the tab that corresponds to the location of the repository you want to clone. You can also click URL to manually enter the repository location.
Choose the repository you want to clone from the list.
Click Choose. and navigate to a local path where you want to clone the repository.
Click Clone.
Forking a repository
If you clone a repository that you do not have write access to, GitHub Desktop will create a fork. After creating or cloning a fork, GitHub Desktop will ask how you are planning to use the fork.
In the File menu, click Clone Repository.
Click the tab that corresponds to the location of the repository you want to clone. You can also click URL to manually enter the repository location.
Choose the repository you want to clone from the list.
Click Choose. and navigate to a local path where you want to clone the repository.
Click Clone.
If you plan to use this fork for contributing to the original upstream repository, click To contribute to the parent project.
If you plan to use this fork for a project not connected to the upstream, click For my own purposes.
Click Continue.
Managing fork behavior
You can change how a fork behaves with the upstream repository in GitHub Desktop.
Click Fork behavior, then select how you want to use the fork.
Click Save.
Creating an alias for a local repository
You can create an alias for a local repository to help differentiate between repositories of the same name in GitHub Desktop. Creating an alias does not affect the repository’s name on GitHub. In the repositories list, aliases appear in italics.
Help us make these docs great!
All GitHub docs are open source. See something that’s wrong or unclear? Submit a pull request.
Источники информации:
- http://stackoverflow.com/questions/10065526/github-how-to-make-a-fork-of-public-repository-private
- http://www.theserverside.com/video/Clone-and-create-a-private-GitHub-repository-with-these-steps
- http://github.community/t/clone-private-repo/1371
- http://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-and-forking-repositories-from-github-desktop