Переходим с https на ssh доступ в github

Добавляем удалённый репозиторий

Репозиторий — это файловое хранилище проектов. На бесплатном тарифе можно загружать до 500 МБ данных и создавать неограниченное количество репозиториев.

Чтобы создать репозиторий, нажмите на кнопку New repository, назовите проект и кликните Create repository. Можно добавить описание проекта, сделать его публичным или приватным и прикрепить технические файлы:

  • README file содержит подробное описание проекта — так другие разработчики узнают, какой репозиторий они смотрят и зачем он нужен.
  • Gitignore позволяет сэкономить место и не заливать на GitHub лишние файлы. Например, можно исключить скрытые файлы Mac OS.
  • License добавляет к коду ссылку на первоисточник и защищает права разработчика. Лицензия позволяет понять, как правильно использовать чужой код и можно ли его свободно внедрять в коммерческие проекты.

Мы создаём тестовый репозиторий, поэтому обойдёмся без лицензии — выберем только два дополнительных файла: README file и gitignore. Если вы пока не знаете, что писать в README file и что добавлять в gitignore, — оставьте эти файлы пустыми или посмотрите инструкцию в разделе Read the guide.


Мы создали публичный репозиторий и будем хранить файлы в папке test
Мы создали публичный репозиторий и будем хранить файлы в папке test

  • Переходим на сайт gitignore.io.
  • Добавляем macOS или другую операционку, с которой вы работаете.
  • Жмём Create и получаем нужный служебный файл.
  • Копируем данные и переносим их в файл gitignore на GitHub.

После редактирования gitignore делаем коммит — записываем в историю проекта факт того, что мы установили ограничение для файлов Mac OS.

Visual Studio Team Services: удалить репозиторий

В Visual Studio Team Services я по ошибке добавил репозиторий Git к существующему проекту, который находился в рамках TFVC, поэтому теперь у проекта есть два репозитория.

Проблема в том, что я не могу найти никакой возможности удалить этот репозиторий из проекта. Единственный вариант, который я нашел, — это удалить весь проект (очевидно, не то, что я хочу делать).

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

4 ответа

В моем случае решение из комментария от Паскаль Бергер работал: я создал второй пустой репозиторий, и после того, как у меня было два репозитория, опция «Удалить» стала видимой, когда справа -кликнув любой репозиторий.

Удаление репозиториев Git доступно только при наличии нескольких репозиториев Git в одном проекте на основе Git. Таким образом, в вашем случае нет возможности удалить репозиторий Git. Вы можете отправить запрос функции на Microsoft User Voice: http://visualstudio.uservoice.com/ форумы / 330519-team-services

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

В системе управления версиями вы можете щелкнуть репозиторий правой кнопкой мыши и выбрать «Удалить репозиторий».

Прямая ссылка: https://YourTenant.visualstudio.com/DefaultCollection/YourTeamProject/_admin/_versioncontrol

Замените YourTenant и YourTeamProject соответствующими значениями.

Если вы не видите ссылку в раскрывающемся списке или получаете сообщение об ошибке, у вас, скорее всего, недостаточно прав.

Удалите командный проект, и оставшееся репо также будет удалено. Таким образом, у вас не останется пустой командный проект

Все уроки курса

  • Вводный урок
  • 1. Установка и базовая настройка git
  • 2. Создание и клонирование репозитория git
  • 3. Делаем первые изменения, git status и git diff
  • 4. Коммиты и история коммитов, git commit, git log и git show
  • 5. Подробнее об истории коммитов. Путешествие по истории
  • 6. Работа с сервером, git push и git pull
  • 7. Ветки — главная фишка git, git branch и git checkout
  • 8. Работа с ветками на сервере, git fetch
  • 9. Слияния или мерджи веток, git merge
  • 10. Конфликты и их разрешение
  • Платная часть курса. Презентация
  • * 11. Работа с gitignore и git exclude
  • * 12. Буфер обмена git, git stash
  • * 13. Копирование коммитов, git cherry-pick
  • * 14. Отмена и редактирование последнего коммита
  • * 15. Отмена произвольного коммита, git revert
  •    16. Склеивание коммитов, git rebase —interactive и git reflog
  • * 17. Зачем склеивать коммиты. Плюсы и минусы сквоша
  • * 18. Работа с git rebase. Отличия от merge
  • * 19. Что такое git push —force и как с ним работать
  • * 20. Ищем баги с помощью git, git bisect
  • * 21. Как и зачем работать с тегами git
  • * 22. Процессы: github flow и git flow
  • * 23. Псевдонимы в git
  •    24. Мердж-реквесты
  • * 25. Форки

* платные уроки

список обновляется…

Переносим удалённый репозиторий на ПК

Перейдите на сайт desktop.github.com и скачайте GitHub Desktop — это приложение, которое позволит синхронизировать удалённый репозиторий на GitHub и файлы на вашем компьютере без командной строки терминала:

  • Скачиваем приложение под свою операционную систему.
  • Открываем приложение и проходим авторизацию — нужно указать электронную почту и данные вашего GitHub-аккаунта.
  • Приложение синхронизируется с удалённым репозиторием и предложит выполнить одно из следующих действий: создать новый репозиторий, добавить локальную папку с компьютера в GitHub Desktop или клонировать существующий репозиторий в папку компьютера.

Мы создали тестовый удалённый репозиторий, поэтому выберем третий вариант — клонировать существующий репозиторий в папку компьютера.


После установки GitHub Desktop запросит синхронизацию с GitHub-аккаунтом. Если аккаунта нет, приложение предложит его создать
Рабочее пространство в GitHub Desktop — мы можем клонировать репозиторий, создать новый или перенести нужные файлы с компьютера
Выбираем репозиторий, сохраняем его на рабочем столе и жмём кнопку Clone

После клонирования репозитория в рабочем пространстве появятся три вкладки: Current Repository, Current Branch и Fetch origin.

  • Current Repository — раздел позволяет переключаться между несколькими репозиториями, отслеживать невнесённые изменения (вкладка Changes) и смотреть историю коммитов (вкладка History).
  • Current Branch — раздел позволяет переключаться между несколькими ветками проекта.
  • Fetch origin — раздел обновляет внесённые изменения и синхронизирует файлы локального и удалённого репозитория.

Обратите внимание на раздел Current Repository и вкладку Changes. В левом нижнем углу есть окно для добавления коммитов и комментариев — это означает, что вы можете записывать каждый шаг, не посещая сайт GitHub


Рабочее пространство для работы с клонированным репозиторием
История изменений нашего репозитория

Шаги

1) git init

2) git status (для проверки статуса)

3) git add. (добавить все файлы изменений (.))

4) git commit -m

5) git remote add origin

6) git pull —allow-unrelated-stories мастер

7) git push -u мастер

На самом деле github намного проще, чем мы думаем, и это происходит всякий раз, когда мы пытаемся От себя даже после того, как мы явно вставили некоторые файлы в наш репозиторий git, поэтому для решения проблемы просто попробуйте ..

: git pull

а потом..

: git push

Примечание: если вы случайно застряли в редакторе vim после извлечения репозитория, не волнуйтесь, просто закройте редактор vim и попробуйте нажать :)

У меня была эта ошибка, потому что на сервере было обновление, но SourceTree не показывал никаких доступных обновлений (возможно, потому, что я был в автономном режиме, когда он последний раз проверял). Итак, я обновил дерево исходных текстов, и теперь оно показывает 2 элемента для отправки вместо 1 элемента.

Так что не забудьте нажать обновить или вытащить если вы получите эту ошибку, а затем повторите попытку.

Предупреждение git push -f origin master

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

Ошибка, возможно, возникает из-за разной структуры кода, который вы фиксируете и который представлен на GitHub. Вы можете обратиться к: Как бороться с ошибкой «отказ от объединения несвязанных историй»:

Вот как я решил эту проблему:

Обычно это происходит, когда ваша удаленная ветка не обновляется. И после этого, если вы получите сообщение об ошибке типа «Пожалуйста, введите сообщение о фиксации», обратитесь к этому (Для меня ответ xiaohu Wang сработал :))

У меня была такая же проблема, и я исправил ее, запустив: git push -f origin master

Сначала у меня был проект SSDT VS. Я хотел продвинуть проект, как я, на Github. Я хотел, чтобы этот толчок стал начальной версией моего репо, запускающей основную ветку. Предложение Донала о git push -f origin master был самым простым способом (который я видел) добиться этого. Поскольку мне не приходилось беспокоиться о том, чтобы что-то переписывать, это казалось логичным.

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

Вы можете удалить файл .Readme или вытащить его перед нажатием.

Я не уверен, что этот ответ на вопрос 5-летней давности дает какую-либо дополнительную ценность, плюс он не дает решения конкретной проблемы OP. Поскольку вы новый участник, ознакомьтесь с руководством по ответам на вопросы: stackoverflow.com/help/how-to-answer

Лучший вариант для меня и работает и просто

тогда

удачи

вы можете использовать

это поможет в случае, если некоторые изменения еще не зарегистрированы в вашем локальном репо. особенно

Вы можете отменить любые проверки, которые выполняет git, используя «принудительное нажатие». Используйте эту команду в cmd (терминал), это поможет вам

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

Допустим, у нас на локальной машине уже есть проект 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.

Спасибо за внимание и до встречи!

Следующий урок ⇨
Урок 3. Делаем первые изменения — git diff и git status

⇦ Предыдущий урок
Урок 1. Установка и базовая настройка git

Как удалить проект на github

s http-equiv=»Content-Type» content=»text/html;charset=UTF-8″>tyle=»clear:both;»>

Если вы использовали github, вы знаете, что на нем нет очевидной возможности напрямую удалить репозитории или проект. Поэтому для многих новичков на github поначалу это дело часто оказывается трудным. Здесь я дам вам краткое введение в то, как это сделать. На самом деле, это только скрыто глубже. Прочитав его, вы подумаете, что на самом деле это очень просто.

Метод / шаг

  1. Войдите в github на своей личной домашней странице, нажмите «Репозитории», вы увидите созданные вами проекты или «Форк».

  2. Найдите «Репозитории» (или проект), которые хотите удалить, и нажмите, чтобы войти.

  3. Найдите «Настройки» в правом нижнем углу страницы репозиториев, как показано на рисунке, и нажмите «Настройки» для входа (в это время вам может быть предложено ввести пароль).

  4. После входа в «Настройки» нажмите «Параметры» в левом фрейме (обычно этот вариант используется по умолчанию), а затем перетащите его в нижнюю часть, вы увидите «Удалить этот репозиторий».

  5. Нажмите «Удалить этот репозиторий», появится диалоговое окно, в котором нужно ввести имя «Репозиториев», которые вы хотите удалить. Если вы не заполните его, вы не сможете удалить его. Меня зовут «Тест», после чего можно удалить весь проект.

Перепечатано по адресу: https://www.cnblogs.com/lkzf/p/4033173.html

Интеллектуальная рекомендация

common.js изображение: 1.jpg 2.jpg 3.jpg 4.jpg 5.jpg Перепечатано по адресу: https://www.cnblogs.com/cuilichao/p/9498885.html…

Один, поставляется с чистым кешем Нажмите AndroidStudio меню File-> Invalidate Caches / Restar …, нажмите Invalidate and Restar во всплывающем диалоговом окне . Подождите, пока AS очистится и пер…

Что такое HBase Apache HBase — это база данных, работающая в кластере Hadoop. Для достижения лучшей масштабируемости (масштабируемости) HBase ослабляет требования к ACID (атомарность базы данных, согл…

Старик недавно изучает теорию относительности, и я обнаружил большую ложь. На самом деле времени не существует. Все имеет свою абсолютную скорость. Назовем это скоростью света. Глупости не много, как …

Вам также может понравиться

https://codeforces.com/contest/1153/problem/A Вопрос: Израильская колонна  …

Вопросы на собеседовании: Вопрос по программированию: Есть n шагов, и вы можете подниматься только на 1 или 2 шага за раз. Сколько существует способов? Исследованные точки знаний: Рекурсия и итерация …

Описание проблемы Номер вопроса: 201312-2 Название вопроса: Номер ISBN лимит времени: 1.0s Ограничение памяти: 256.0MB Описание проблемы: описание проблемы Каждой официально опубликованной книге соотв…

Википедия определяет B-дерево как «В информатике B-дерево — это древовидная структура данных, которая может хранить данные, сортировать их и допускать временную сложность O (log n). Запустите ст…

Оптимистично, прямо выше. Это очень любопытно, как это достигнуто? Это на самом деле очень легко Когда вам нужен страница скриншота, нажмите кнопку экрана печати на клавиатуре, некоторые указывают на …

Объяснил, объяснил

«Удаленный» для ветви — это URL-адрес, с которого вы репо получает изменения. Ваш местный Репо полностью принадлежит вам — на него не влияет код других людей, пока они не передадут свои коммиты на удаленный компьютер. Надеюсь, вы все используете один и тот же пульт, и все синхронизируется, но этот пульт является лишь конечной точкой. Вы можете клонировать эту конечную точку и переключиться на новый пульт без особых проблем.

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

git remote -v

Это, вероятно, отобразит URL вашего основного репозитория на GitHub или любом другом сервисе, который вы используете. Если у вас есть несколько пультов, они тоже появятся здесь.

Но только потому, что это пульт по умолчанию, это не значит, что вы ограничены одним. Зачем вам два пульта? Что ж, хороший пример использования AWS CodeCommit, Это хостинг репозиторий, и имеет множество интеграций со своей вычислительной платформой EC2, что позволяет автоматизировать развертывание кода на ваших серверах непосредственно из системы контроля версий.

Тем не менее, CodeCommit довольно неуклюжий по сравнению с более сфокусированным провайдеры, такие как GitHub, GitLab и BitBucket, и не имеют таких интеграций CI / CD, которые делают этих провайдеров великими. Таким образом, вы застряли с дилеммой — используйте CodeCommit по умолчанию решение или создайте свой автоматический конвейер развертывания кода самостоятельно.

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

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

Если вы хотите получить побольше информации об одном из удалённых репозиториев, вы можете использовать команду . Выполнив эту команду с каким-либо именем, например, , вы получите следующий результат:

Она выдаёт URL удалённого репозитория, а также информацию об отслеживаемых ветках. Эта команда любезно сообщает вам, что если вы, находясь на ветке , выполните , ветка с удалённого сервера будет автоматически влита в вашу сразу после получения всех необходимых данных. Она также выдаёт список всех полученных ею ссылок.

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

Данная команда показывает какая именно локальная ветка будет отправлена на удалённый сервер по умолчанию при выполнении . Она также показывает, каких веток с удалённого сервера у вас ещё нет, какие ветки всё ещё у вас есть, но уже удалены на сервере, и для нескольких веток показано, какие удалённые ветки будут в них влиты при выполнении .

Репозитории в Ubuntu

В основном репозитории Ubuntu можно поделить на два типа — официальные и репозитории сторонних разработчиков. В официальных репозиториях находятся только стабильные программы, причем их версии не будут обновляться, они могут получать только обновления безопасности. Сторонние репозитории ubuntu могут создаваться кем угодно и их автор может обновлять и добавлять программное обеспечение в репозиторий когда нужно. PPA репозитории Ubuntu созданы с целью упростить процесс создания сторонних репозиториев.

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

Вторая группа веток более интересная. Дело в том что в Ubuntu есть несколько веток для различного рода программного обеспечения:

  • Main — основная ветка — стабильное официально поддерживаемое Canonical ПО
  • Restricted — официально поддерживаемое ПО распространяемое не под лицензией GPL
  • Universe — программы, поддерживаемые сообществом Ubuntu
  • Multiverse — ветка проприетарного программного обеспечения

Такой структуры придерживаются официальные репозитории, сторонние ppa могут же иметь другую структуру или просто ветку main.

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

Что происходит при удалении удаленного репозитория?

Удаление репозитория на GitHub похоже на полное удаление файла с вашего ПК. Однако при удалении удаленного репозитория следует учитывать следующее:

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

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

Вы можете получить доступ к этой опции, щелкнув Архивировать этот репозиторий в зоне опасности .

Получение изменений из удалённого репозитория (fetch и pull)

Как вы только что узнали, для получения данных из удалённых проектов, следует выполнить:

Данная команда связывается с указанным удалённым проектом и забирает все те данные, которых у вас ещё нет. После того как вы выполнили эту команду, у вас должны появиться ссылки на все ветки из этого удалённого проекта, которые вы можете просмотреть или слить в любой момент.

Когда вы клонируете репозиторий, команда автоматически добавляет этот удалённый репозиторий под именем «origin». Таким образом, извлекает все наработки, отправленные на этот сервер после того, как вы его клонировали (или получили изменения с помощью )

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

Если ветка настроена на отслеживание удалённой ветки (для получения дополнительной информации смотрите следующий раздел и главу «Ветвление в Git»), то вы можете использовать команду , чтобы автоматически получить изменения из удалённой ветки и слить их со своей текущей. Этот способ может оказаться более простым или более удобным. К тому же, по умолчанию команда автоматически настраивает вашу локальную ветку на отслеживание удалённой ветки на сервере, с которого вы клонировали репозиторий. Название веток может быть другим и зависит от ветки по умолчанию на сервере. Выполнение , как правило, извлекает (fetch) данные с сервера, с которого вы изначально клонировали, и автоматически пытается слить (merge) их с кодом, над которым вы в данный момент работаете.

Примечание

Начиная с версии 2.27, команда выдаёт предупреждение, если настройка не установлена. Git будет выводить это предупреждение каждый раз пока настройка не будет установлена.

Если хотите использовать поведение Git по умолчанию (простое смещение вперёд, если возможно, – иначе создание коммита слияния): .

Если хотите использовать перебазирование при получении изменений: .

Как сменить работу с HTTPS на SSH

Если у вас есть локальный (на вашем рабочем компьютере) репозиторий полученный по https, очень просто сменить доступ на SSH.

Для этого убедитесь что доступ по HTTPS, для этого выведите список remote:

ссылки начинаются c https, а значит вы не можете ни загрузить ни получить обновления удаленного репозитория.

Зайдите в репозиторий и скопируйте SSH ссылку доступа, перейдите в локальный репозиторий и удалите текущий remote origin:

и добавьте новый, последняя строка в команде это ссылка доступа SSH:

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

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

На этом вопросы с доступом к вашим репозиториям на гитхабе закрыт!

Чистого кода и красивых коммитов!

Что значит «смёржить» (git merge)

Смёржить (от англ. merge — объединять, совмещать) — это когда мы отправляем всё, что сделали в одной ветке, в другую. Весь новый код, исправления ошибок, дополнительные функции — всё это отправится в новую ветку. Если же мы что-то удалим в коде, то при объединении этот фрагмент тоже удалится из основной ветки. 

Получается, что схема работает так:

  1. Запускаем в мастере рабочий код с первой версией сайта, которая автоматически отправляется в продакшен (на сборку).
  2. Создаём новую ветку на основе мастера.
  3. В этой новой ветке пишем новый код, который добавит интерактивные функции на сайт.
  4. Тестируем эту ветку как отдельный проект.
  5. Если всё в порядке — смёрживаем её в мастер и получаем сразу готовую сборку сайта с новыми возможностями.

Выводы

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

  • Использовать программы с графическим интерфейсом для работы git. Они наглядно показывают какие файлы будут добавлены в коммит. Во всех средах разработки как правило есть либо дополнения, либо встроенные средства для работы с git которые помогают избежать таких ошибок. Если среда разработки которую вы используете не имеет средств работы с git, то есть графические интерефейсы. Я когда-то писал небольшой обзор графических интерфейсов для git;
  • Избегать таких опасных команд как , и . Вместо них добавлять отдельные файлы с ;
  • Использовать чтобы интерактивно просматривать и добавлять файлы;
  • Перед добавлением файлов внимательно просматривать какие файлы были изменены и могут попасть в коммит .

Полезные ссылки:

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
3D-тест
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: