Суть передачи РЕПО на GitHub
Я работаю над небольшим проектом с gist, и поскольку он растет, я хотел бы поместить его на github.
предположим, что:
- мой РЕПО gist находится по адресу:https://gist.github.com/1234
- мой новый (пустой) РЕПО находится по адресу:https://github.com/ChrisJamesC/myNewProject
идеальным решением было бы то, что подталкивает мои изменения как в GiST, так и в репозитории github.
6 ответов:
Github теперь имеет новую функцию-импорт из другого репозитория. Таким образом, шаги значительно упрощены:
создать новый пустой репозиторий- использовать импорт и укажите URL-адрес репозитория.
- профит!
обновление:
вам не нужно создавать РЕПО. Элемент + кнопка в правом верхнем углу теперь имеет 'Хранилище Импорт' как выбор.
вы можете добавить репозитории на GitHub в качестве пульта дистанционного управления для вашего зарегистрированного из репозитория суть.
git clone git@gist.github.com:1234.git git remote add github git@github.com:ChrisJamesC/myNewProject.git
Нажмите его, чтобы инициализировать git на github
git push -u github master
если ваше РЕПО github не было совсем пустой (вы создали его с помощью README, лицензии и т. д. который вы не против потерять) вам придется сделать перезапись силы на вашем push
git push -f -u github master
если вы не хотите потерять исходящие коммиты и файлы, см. https://stackoverflow.com/a/40408059/117471
это также изменит восходящий поток ветви, поэтому github будет по умолчанию.
теперь вы можете переименовать пульт дистанционного управления gist:
git remote rename origin gist
каждый раз, когда вы вносите изменения (или вытаскиваете изменения из github/gist), вы можете сделать:
git push # To github git push gist master # To gist
Это также отодвинет ваши изменения в gist, а не только в репозитории github.
клонировать суть (например
git clone git://gist.github.com/123.git
) на локальный жесткий диск, затем установите новый URL дляorigin
(например,git remote set-url origin https://github.com/ChrisJamesC/myNewProject
). Нажмите на новый репозиторий (git push origin master
). Счастливый gitting!
извините за встряхивание старого вопроса, и что я не могу комментарий, но на втором шаге, заданном gzm0, вам может потребоваться использовать --force, т. е.
git push -f -u github master
возможно, это было потому, что в репозитории Github был README, но я думаю, что другие тоже могут столкнуться с этим.
вы можете клонировать суть локально.
добавить репозиторий github в качестве нового удаленного.
переместите локальный репозиторий на новый пульт GitHub.
удалить все файлы в вашей сущности, но README.md файл . в этом файле вы можете написать подсказку о том, что gist переехал в новый репозиторий
мое редактирование принятого ответа становилось длительным, поэтому я создал отдельный ответ, чтобы удержать его.
если ваше РЕПО не пусто, и вы не хотите потерять выходящие коммиты и файлы, the принято отвечать не относится к вам. вам потребуется:
- если вас не волнует история фиксации gist...
- скопировать файлы,
git add
,git commit
- если вы хотите сохранить историю фиксации gist...
- использовать git
cherry-pick
илиformat-patch
что выходит за рамки этого ответа. Смотрите можно ли выбрать фиксацию из другого репозитория git?