Я вижу, что это было задано много раз, обычно с различными оговорками. В моем случае я использую git для развертывания изменений из моего локального блока разработчиков, вплоть до сервера git и, наконец, для переноса изменений на веб-сервер с помощью задания cron.git pull и фиктивные локальные изменения
Мой рабочий заключается в следующем:
- Фиксировать изменения в локальной рабочей копии
- Нажимные изменения вышестоящего сервера (созданный как голый репозиторий, который я оттолкнула мою локальную к)
git pull -Xingore-space-at-eol
в Интернете сервер
В теории это должно сработать. Однако git отказывается это делать, по-видимому, выбирая файл (ы) наугад, который, по его мнению, имеет локальные изменения.
Updating bb48022..7eff182
error: Your local changes to the following files would be overwritten by merge:
app/models/User.php
Please, commit your changes or stash them before you can merge.
Aborting
На веб-сервере, я выполнил несколько изменений файлов - я добавил неотслеживаемые файлы, и я изменил разрешения. git настроен на filemode = false
, и я также использовал git config --global core.autocrlf true
, чтобы включить автоматическую обработку CRLF.
git diff --ignore-space-at-eol
не имеет отличий. git status
показывает примерно дюжину «Изменений, не поставленных для фиксации», но эти файлы на самом деле не были изменены каким-либо образом, я могу заметить.
Я пытался припрятать ошибочные локальные изменения с
git stash
git pull
git stash pop
Но он не так же на git pull
Мой работает только вариант в этот момент, чтобы сдуть всю клонированный папку и сделать свежего клона каждый раз, с последующим применением изменений разрешений и выполнением composer install
Мне, должно быть, не хватает фундаментальной концепции. Любая помощь очень ценится!
Что значит «они не изменились каким-либо образом, вы можете заметить»? Как * они изменились? Пробелы? Покажите нам свой файл '.gitattributes'? –