Как мне перейти к новому репозиторию GitHub без учета истории? - PullRequest
0 голосов
/ 18 декабря 2018

Я работаю над проектом в течение некоторого времени, и, наконец, я хочу загрузить его на GitHub и поделиться им.Ранние версии проекта содержали жестко запрограммированные пароли базы данных, которые я бы не хотел использовать на GitHub.

Есть ли способ для меня выдвинуть «мелкую» версию репо - толькофайлы как есть сейчас, без истории - на GitHub?Было бы неплохо что-то вроде git clone --depth 1, за исключением того, что кажется, что вы не можете «переместить клон» с локального хоста на GitHub, а у GitHub, похоже, нет интерфейса, который позволяет мне «вытащить клон» обычным способом.

Я потратил пару часов на поиски в сети "git push to github без истории", "git push to github как мелкий клон", "git push clone to github" и т. Д., Но ничего не появляетсячто я могу расшифровать как актуальное для моей проблемы. GitHub docs для этого предостерегает от фиксации паролей и прочего, но единственный совет, который они дают, - это удаление файлов, а не истории.Точно так же, ближайший вопрос, который я могу найти о переполнении стека, это этот вопрос , ответы которого также направлены на удаление файлов.Я не хочу этого: я хочу сохранить файлы, я просто хочу удалить историю, в которой они когда-то содержали жестко запрограммированные пароли.

В идеале, я мог бы «поверхностно протолкнуть» проект изlocalhost для GitHub, теряя предыдущую историю, но отслеживая историю с этого момента.Это возможно?

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

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

Я также тестировал попытки перехода от мелкого клона к новому пустому репозиторию GitHub.В этом было отказано:

 ! [remote rejected] master -> master (shallow update not allowed)

Следовательно, если вы хотите использовать GitHub, вам придется создать новый (отдельный и независимый) репозиторий.Этот новый репозиторий не совместим с вашим существующим репозиторием.

0 голосов
/ 19 декабря 2018

Вы можете скопировать каталог в новую папку и удалить каталог .git.Затем вы можете инициализировать репозиторий, как если бы он был свежим:

git init
git add .
git commit -m "Genesis."
git remote add origin <remote repository URL>
git push -u origin master

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

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