git reset --hard A
Это вернет вас к ревизии A, и это очень близко к слову "b и C не произошло".Кроме того, текущая ветвь начнет указывать на A, поэтому используйте с осторожностью.
Если вам нужна новая ревизия D, следующая за C (A <- B <- C <- D), чтобы она имелатот же контент, что и A, тогда вы можете попробовать это: </p>
git checkout A -- . # take back content of the whole project to how A was
git commit -m "Going back to revision A"
Если вы хотите сделать это с возвратами, которые не создают фиксацию:
git revert --no-commit A..C
git commit -m "going back to A"
Или:
git revert --no-edit A..C
git reset --soft HEAD~2 # Moving branch pointer to C keeping everything else as-is
git commit -m "going back to A"