#git #github #git_clone
Есть репозиторий на GitHub, в котором коммитов никто не делал несколько недель.
За эти несколько недель было внесено очень-очень много правок, но все напрямую через
sftp на сайте продакшена.
На нем есть папка .git. Копия всех файлов вместе с этой папкой есть у меня на компьютере.
Как мне теперь залить в репозиторий все изменения, подобавлять новые файлы и прочее?
Я пока попробовал с помощью коммандной строки и git add. В итоге мне выдало что-то такое:
Warning: Permanently added the RSA host key for IP address '192.30..' to the list
of known hosts. Permission denied (publickey). fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
Как я понял, это потому что я сгрузил папку .git с сервера. Как-то это можно исправить?
И еще выдает много ошибок по файлам типа: warning: LF will be replaced by CRLF
Ответы
Ответ 1
Для командной строки Подойдет любая. Через PHPStorm открывается Alt+F12, насколько я помню. 1. Настройка переноса строки warning: LF will be replaced by CRLF решается настройкой автозамены символов переноса строки. Для Windows: git config --global core.autocrlf=true 2. Получить локальный репозиторий с настроенным удаленным. Warning: Permanently added the RSA host key for IP address '192.30.*.*' to the list of known hosts. Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. Как я понял, это потому что я сгрузил папку .git с сервера. Как-то это можно исправить? Просто копировать папку с сервера — не подходит, там другие настройки. Можно пробовать перенастроить, но это чревато проблемами. Быстрый и гарантированный способ — клонировать с удаленного репозитория (в данном случае это GitHub). Если консоль открыли через PHPstorm, то она откроется прямо в вашем проекте. Если нет — надо перейти в папку проекта. Клонируем проект в новую временную папку, чтобы получить .git. Ссылку для клонирования можно найти на странице вашего проекта на гитхабе. Обратите внимание: мы указываем путь, куда будет клонироваться проект. Параметр -n заставляет Git только клонировать папку, но не «разворачивать» из нее файлы. mkdir ../temp_git git clone -n https://github.com/YourName/project-name.git ../temp_git Теперь заменим ту папку .git, которая у вас скопирована с сервера, на ту, которую мы получили клонированием. Если можете привычным способом удалить в проекте и перенести из клонированного — делайте так. Если нет — вот инструкция для командной строки. # удаляем местную папку .git, ранее полученную копированием с сервера rm -Rf .git # переносим к себе новую клонированную с верными настройками mv ../temp_git/.git . # удаляем временную папку rm -Rf ../temp_git 3. Добавить изменения и залить их на удаленный репозиторий Переходим в ту папку, где лежит ваш .git. Переходим в ту ветку, в которую вы хотите эти изменения сохранить (зависит от принятого у вас рабочего процесса). cd path/to/project/ git checkout master Смотрим на то, какие изменения произошли git status -s M — измененные файлы D — удаленные ? — новые файлы и папки. Подумайте, все ли они подлежат контролю версий. Возможно, там есть какой-нибудь хлам вроде временных файлов. Если они всегда будут ненужными — добавляйте их в .gitignore. Это позволит вам добавлять целые папки, фильтруя игнорируемые файлы. Дальше если изменения можно разделить на логические блоки — придумайте эти блоки. Если нет — считайте что блок один. Для каждого блока: Добавьте соответствующие ему файлы в индекс git add folder/ git add *.jpg ... Сделайте коммит с сообщением, которое отражает смысл блока git commit -m'relevant message' Проверьте, что у вас получилось и всё ли вы добавили. При необходимости — к пункту 4. git log git status Можно заливать на удаленный репозиторий. git push Про развертывание и Git По–хорошему, коммиты в Git нужно делать часто. Каждый раз, когда вы заливаете что-то через sftp, мог бы предваряться коммитом. Поскольку у вас есть репозиторий Git, вы можете использовать его для развертывания сайта. Обратите внимание на способы без репозитория на сервере — они наиболее надежны. Настройка и развертывание проекта c помощью Git
Комментариев нет:
Отправить комментарий