knittl has already put together a good list of teams that rewrite history, but I would like to build on his answer.
Can you provide a list of [...] operations or commands that could jeopardize the story in git? What should i avoid?
First of all, there is nothing wrong with rewriting / deleting a story as such; in the end, you probably regularly create function branches, keep them strictly local, and then delete them (after merging them or realize that they don't lead anywhere) without thinking about it twice.
However, you can and, of course, run into problems when rewriting / deleting a history locally that other people already have access to, and then press it on the shared remote.
, /
, (, .git/objects/), .
. Pro Git, ,
git amend --commitgit rebasegit filter-branch- Roberto Tyley BFG Repo Cleaner ( )
, . , ( ) , , . :
git commit --amend: ;- rebase (
git pull --rebase); git reset (. );git checkout -B git branch -f: ;git tag --force: , .
( ) :
git branch -d git branch -dgit tag -d
, , , , .
. , , Git, .
, /
, git push -f ( git push --force) / .
,
- ,
receive.denyNonFastForwards . - , ,
receive.denyDeletes .
, git reset, , ( ). git reset ?
git-reset, knittl, , . , . , :

master, commit D. , , ,
git reset master~2
reset reset, "" , , . , , , : reset

C D, master reset, ; , - (, HEAD). , " limbo"; Git, git log.
, reset, , (, ) D . C D Git .
D reflog, , , reflog commit D.
, , git-reset , , , , reset, reset. reset, , ; , , .