В сценарии, находящемся в стадии разработки, мне нужно восстановить последний SHA1 с принудительной фиксацией в моей текущей ветви и, следовательно, игнорировать локальные идентификаторы коммитов.
При работе с локальной / удаленной веткой это довольно просто, многиепосты уже ответили на этот вопрос.
На данный момент в локальной или удаленной ветви я использую следующую команду:
git log --format=format:%H -n1 @{u}
Однако мой сценарий должен работать и в состоянии «отсоединенного HEAD».С помощью предыдущей команды я не могу получить последний выдвинутый коммит в этом случае (который будет указывать после HEAD detached at
).Простого git log HEAD
было бы недостаточно, поскольку я хочу игнорировать локальные коммиты.
Было бы лучше, если бы я также не изменял состояние ветвления (например, git checkout -b myBranch
).
Я использую GIT версии 2.17.1.