У меня есть локальный сервер, который получает новые файлы и папки в моем каталоге "/ app / localfiles" каждый раз, когда я запускаю скрипт оболочки. Примечание: эти файлы и папки не всегда являются одинаковыми обновленными файлами, но они могут представлять собой новое имя файла или папки при каждом запуске.
Мое требование - хранить все файлы и папки из моего локального каталога "/ app / localfiles". каталог на локальный локальный сервер git при каждом запуске.
Это то, что я сделал, однако я не в состоянии выполнить требование.
Ниже приведена одноразовая команда, которую я запустил на локальном сервере из каталога "/ app / localfiles".
git clone remoteuser@remotehost:/app/gitforapp
Ниже приведен скрипт, который я запускаю на локальном сервере каждый раз. новые файлы хранятся в моей папке "/ app / localfiles".
export GIT_SSH_COMMAND="ssh -i /app/id_rsa -F /dev/null"
cd "/app/localfiles"
git add .
git commit -m "$1"
git remote add origin remoteuser@remotehost:/app/remotegitfolder
git push origin master
Впервые это работало нормально, но теперь при каждом запуске выдает следующую ошибку:
"stderr": "fatal: remote origin already exists.", "stderr_lines": ["fatal: remote origin already exists."
Ошибка исчезнет, если я удаляю «.git» на моем локальном сервере каждый раз, когда я помещаю файлы в удаленный git вместе с добавлением аргумента --force к следующему:
git push origin master --force
Однако, когда япроверьте на удаленном сервере «git log», он показывает только последний коммит, а не всю строку коммитов с первого коммита.
FYI: на моем локальном сервере
git remote -v
origin remoteuser@remotehost:/app/remotegitfolder (fetch)
origin remoteuser@remotehost:/app/remotegitfolder (push)
Можете ли выПодскажите, пожалуйста, как я могу отправить все новые файлы на локальный сервер на удаленный git, не требуя клонирования, и команду, которая поможет мне увидеть все нажатия git с момента запуска?
Большое спасибо.