Начиная с Вашего pull
было неудачно тогда HEAD
(не HEAD^
), последняя "допустимая" фиксация на Вашем ответвлении:
git reset --hard HEAD
другая часть, которую Вы хотите, должна позволить их изменениям переопределить Ваши изменения.
Более старые версии мерзавца позволили Вам использовать "их" стратегия слияния:
git pull --strategy=theirs remote_branch
, Но это было с тех пор удалено, как объяснено в это сообщение Junio Hamano (специалист по обслуживанию Мерзавца). Как отмечено в ссылка , вместо этого Вы сделали бы это:
git fetch origin
git reset --hard origin
I думаю, что вы правильный трек со слушателем фазы. По сути, настройте что-то в сеансе на первой странице. Затем по фазе слушатель ищет значение в сеансе. Если не выходит, сделайте перенаправление. Уловка состоит в том, чтобы сделать это на ранней стадии процесса прослушивания фазы. Не уверен, где именно в процессе прослушиватель фазы выдает исключение.
Вы можете проверить, является ли ваш сеанс недействительным или нет
логическое значение sessionInValid = httpServletRequest.getRequestedSessionId () ! = ноль && ! httpServletRequest.isRequestedSessionIdValid ();
Здесь логическая переменная sessionInValid вернет истину, если сеанс будет признан недействительным каким-либо образом.
Вы можете добавить это в фильтр или прослушиватель, а затем настроить это в своем файле web.xml.
Я с этим справляюсь, добавляя фильтр в файл web.xml, отображаемый только на URL-адреса, которые вы хотите отслеживать. Этот фильтр проверяет, истек ли срок сеанса, а затем перенаправляет на страницу входа, если это так. Он должен работать, если фильтр запускается до запуска любого кода JSF.
Richfaces имеет свой собственный механизм обработки ViewExpiredException, см. Документы Richfaces .
Раньше я справлялся с этим путем использования слушателя, который проверяет поле в управляемом сессионном компоненте. Если время сеанса пользователя истекает, прослушиватель очищает mbean и отмечает пользователя как не вошедшего в систему. Каждый запрос отправляется через прослушиватель, и если требования не выполняются, то пользователь принудительно покидает сайт. Я никогда не получаю ViewExpiredException в моем журнале.