Исправление рабочей копии в соответствии с последними внесенными изменениями
git checkout HEAD
Может быть, то, что вы ищете.
Нажатия от клиента изменяют индекс, а не рабочие файлы, поэтому у вас есть рабочие файлы, которые остаются неизменными, пока git-запись событий продвигается вперед. Для того, чтобы просто стереть рабочие файлы в пользу последнего воплощения, вы извлекаете последнюю версию, которая была отправлена на сервер.
... Edit:
Использование двух ненастроенных репозиториев
Я только что понял, что дал вам информацию, чтобы понять проблему (индекс изменяется неявно, но рабочие файлы изменяются только явно), но это не обязательно лучший способ ее исправить. Вот что я сделал в прошлом, и что я предлагаю, если вы не хотите подключать центральное хранилище:
На сервере:
git branch staging
git checkout staging
На клиентском компьютере:
Hack away at some changes in master, then push to the server.
на сервере:
git rebase master
(явно обновляет вашу промежуточную ветку, чтобы соответствовать обновленному индексу.)
Наконец, если вы хотите вносить изменения на сервере (исправления ошибок, что у вас есть), вы также захотите синхронизировать эти изменения до мастер-уровня, что вы можете сделать:
На сервере:
Commit changes made on the staging branch.
git rebase master
git checkout master
git rebase staging
git checkout staging
И вот, каждый коммит в master будет в промежуточной стадии, и каждый коммит, который был сделан в промежуточной ветви, будет последним коммитом в master.
Такой тип рабочего процесса должен работать для вас даже с непокрытым центральным репозиторием. По сути, вы оставляете главную ветвь сервера пустой и делаете промежуточную ветвь рабочей копией для сервера.
Чистое использование центрального репо-чума
Как правило, несмотря на то, что 2 точки в сети кажутся простейшими, наличие «централизованного» «голого» хранилища часто проще, оно позволяет вам всегда как перемещать, так и извлекать данные в это место, не задумываясь об этом. По этой причине я также рекомендую преимущества визуализации веб-кода, которые вы можете получить по адресу github.com (бесплатно для материалов с открытым исходным кодом, я использую его для всего, что я делаю в наши дни).