Я pissed в пуле GIT style - ftp'd файлы в repo теперь GIT не синхронизирован

Итак, вот сценарий:

  • Принять код на github - нажать origin
  • Для развертывания - нажмите на deploy (голый репо на bluehost, у которого есть крючок, чтобы нажать в папку www, чтобы все могли видеть сайт)

Итак, рабочий процесс будет таким, потому что я работаю в двух разных местах:

  • вытащить последнюю из github (изменения, сделанные в другом месте и нажатые накануне)
  • работать локально и фиксировать изменения
  • нажмите origin (github)
  • после того, как все будет хорошо, нужно сделать это онлайн, поэтому мастер нажат на deploy (bluehost)

Еще со мной?

Это сработало некоторое время, и для меня это потрясающе

Затем я pissed в пуле

Я случайно загрузил файлы ftp'd в bluehost (активировался sftp sftp), теперь, когда я пытаюсь нажать deploy последний и самый большой на bluehost, я получаю сообщение об ошибке все в актуальном состоянии и если я сделаю некоторые изменения, сделайте новый commit, затем нажмите, я получаю сообщение об ошибке , и такой файл будет перезаписан слиянием, фиксацией или stash...

Локальное репо и репо git находятся в чеке, это синий хост, который перепутался.

Пожалуйста, помогите мне исправить это. Я пробовал искать это и читать другие сообщения здесь, но все, кажется, не решает мою проблему. Я попробовал push --force, но безрезультатно.

Любые идеи были бы замечательными. Или я должен просто удалить всю папку bluehost и начать с нового репозитория git, чтобы снова получить вещи?

EDIT: out из git

C:\xampp\htdocs\www\testingboard>git status
# On branch master
nothing to commit, working directory clean

C:\xampp\htdocs\www\testingboard>git push deploy master
[email protected] password:
Everything up-to-date

Сделайте редактирование одного файла (index.php

C:\xampp\htdocs\www\testingboard>git add -A

C:\xampp\htdocs\www\testingboard>git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   index.php
#

Переключить на index.php

C:\xampp\htdocs\www\testingboard>git commit -m "added mobile variable to index.p
hp"
[master e0be437] added mobile bariable to index.php
1 file changed, 5 insertions(+)

нажмите на github (работает)

C:\xampp\htdocs\www\testingboard>git push origin master
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 353 bytes, done.
Total 3 (delta 2), reused 0 (delta 0)
To https://github.com/danferth/breadBoard.git
9e9f3c1..e0be437  master -> master

нажмите для развертывания (обратите внимание, что там также есть другие файлы, которые были ftp'd)

C:\xampp\htdocs\www\testingboard>git push deploy master
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 353 bytes, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: From /home4/danferth/git/breadboard
remote:    9e9f3c1..e0be437  master     -> origin/master
remote: error: Your local changes to the following files would be overwritten by
merge:
remote:         .sass-cache/6329d896b0dd00f287815f75641600307d9f0023/css_didI.sc
ssc
remote:         _START/pageTitle.php
remote:         assets/custom_css/css_didI.css
remote:         assets/custom_css/css_didI.scss
remote:         content/p_didI.php
remote:         didI.php
remote:         index.php
remote:         template.php
remote: Please, commit your changes or stash them before you can merge.
remote: Aborting
remote: Updating 0dc9e3d..e0be437
To [email protected]:~/git/breadboard.git
9e9f3c1..e0be437  master -> master

C:\xampp\htdocs\www\testingboard>

Ответ 1

На сервере развертывания используйте доступ к оболочке и перейдите в папку www (git repo checkout). Затем используйте git status, чтобы получить список файлов, которые не синхронизированы. Затем используйте git checkout -- <paths> для восстановления этих файлов из репозитория git, чтобы они снова синхронизировались. Затем вы должны иметь возможность git pull на сервере, или просто git push deploy ваши локальные изменения.

Поскольку вы используете привязку после фиксации, изменения уже присутствуют в голом репо на сервере развертывания, но пока еще не находятся в выбранном www-местоположении. Таким образом, git pull должен обновить ваш веб-сервер.