git修改需要git push -f吗?

d-_*_*_-b 2 git

make changes
git commit 'made changes' -a
git push origin
make more changes
git ammend -a
git push origin
Run Code Online (Sandbox Code Playgroud)

我注意到当我做一个git commit --ammend -a然后尝试推送到远程仓库时,它需要我强制push(git push -f).

我的猜测是因为它试图推动相同的(?这是什么?)提交代码但注意到文件中的差异.

这是正确/正常吗?

Von*_*onC 7

A git commit --amend或a git commit --author=<author>,如果有任何修改,将生成不同的SHA1.
然后,是的,git push -f将需要一个.

git amend可以在此博客文章中定义为别名:

git config --global alias.amend 'commit --amend -C HEAD'
Run Code Online (Sandbox Code Playgroud)

此别名添加一个git amend命令,在修改它时将重用当前提交消息.