У меня есть устаревшее репо, и я ничего не могу добавить на свою машину. Я хочу вытащить последнюю стабильную ветку из github.Как перезаписать локальное репо с помощью github?
Должен ли я просто клонировать его? Я не уверен.
У меня есть устаревшее репо, и я ничего не могу добавить на свою машину. Я хочу вытащить последнюю стабильную ветку из github.Как перезаписать локальное репо с помощью github?
Должен ли я просто клонировать его? Я не уверен.
Я думаю, вы должны быть в состоянии сделать выборку всех файлов, а затем восстановить их происхождение:
git fetch --all
git reset --hard origin/master
Вы, вероятно, могли бы сделать это в любом порядке, тоже.
Если вы хотите, чтобы удалить все файлы, которые вы добавили, что не отслеживаются, сделать чистую тоже:
git clean -f
Преимущество этого подхода перед клонированием в новый каталог является то, что вы по-прежнему сохраняют некоторые истории/reflog. Если вам абсолютно все равно, что данные, хотя, любой подход в порядке.
Перед запуском 'git reset --hard';) убедитесь, что на ветке' master' (т. Е. 'Git checkout master') – Tuxdude
Только git pull --all
должен получить новейшие материалы.
Я согласен с Matt's и meagar's предложениями, но чувствую, что я хотел бы добавить немного к ним на основе прошлого опыта с помощью команды rm
в проектах Git.
Если вы абсолютно уверены, что не хотите хранить что-либо из своего каталога, содержащего репо, cd
до уровня, расположенного над папкой, чтобы его можно было удалить с помощью git rm
. Я обнаружил, что использование git rm
просто аккуратно, чем использование простой команды bash rm
. Из предыдущего inscidident, в котором я просто удалил файл в моем промежуточном каталоге ветвей, я узнал, что это отбросило всю ветку с дорожки только потому, что она не была зарегистрирована в записи diff, и если бы я попробовал git commit
, она вывела бы «Отделение обновлено». Ложное положительное.
Потому что вы хотите, чтобы стереть файлы, как близко к не оставляя остатки, трудно поддающимся обнаружению, или почти неопределяемые кусков метаданных я бы сказал рекурсивного принудительного удаление будет оправданно здесь. Т.е., если папка называется MyRepo, просто
git rm -rf MyRepo
затем просто перепроверить, что я бы сделать, это просто cd MyRepo
, очевидно, ожидая ошибки, потому что shoudln папки» т существует.
После этого приступайте к клонированию своей версии, размещенной на GitHub, в том же месте, что и раньше, или где бы вы ни находились, и делайте то, что вы обычно делаете.
Просто клонируйте в другой каталог и удалите старый, когда вы уверены, что от него ничего не нужно. – Mat
Удалите локальный и повторный клон. – meagar