Давайте начнем с того, что проект gerrit настроен неправильно, так как он разрешил то, что произошло
Вместо того, чтобы нажимать на refs / for / my_branch, я отправил прямо в свою ветку, то есть
git push
Вместо того, чтобы оказаться в механизме геррита, коммит оказался на вершине моей ветки, минуя весь обзор. Я попытался исправить проблему следующим образом:
git push -f origin <previous_commit_hash>:refs/head/my_branch
Я надеялся, что ветка вернется в прежнее состояние, поэтому я мог снова нажать, на этот раз правильно. Это действие имело только пометку предыдущего коммита зеленой меткой с надписью head / my_branch.
Затем я попытался выполнить локальный сброс, а затем сразу нажал на gerrit:
git reset --hard <previous_commit_hash>
git push -f origin my_branch
Подтверждение было отклонено, потому что «Обновления были отклонены, потому что кончик вашей текущей ветви находится позади его удаленного аналога ...»
Коммит - это просто CSV-файл с содержимым для вкладки справки, поэтому он скорее выигралСам по себе ничего не сломаю, но я не хочу иметь грязную историю или другие непредвиденные последствия. Желательно, чтобы я перевел удаленную ветку в исходное состояние и повторно отправил свои изменения, на этот раз правильно. С тех пор как это произошло, никто не отталкивался от этой ветви и не вытягивал ее. Какой лучший способ продолжить?