我提交了一个错误(程序未编译),并且在提交之后:git push (I)
.
我的同事完成了:git pull (She)
并获得了存储库的未编译状态。之后添加了一些提交(关于项目文档 - 因为编译并不重要)并再次完成:git push (She)
之后我们得到了以下存储库状态:
- 她的一些承诺
- 她的一些承诺
- 我的错误提交
- 我的另一个提交
我想完全删除提交 3。为此我做了
git-rebase --onto <sha of commit 4> <sha commit 3> master
git push --force
现在我们有了正确的存储库状态(没有提交 3),但还有其他所有更改。但是,如果她这样做
git pull
git push
她将与她的本地提交 #3 合并,然后将其拉到存储库。在 git pull 之后,我怎样才能让某人(不仅是她)更正存储库的状态 - 进行所有更改,但没有提交 #3?
注意: 可能她最后添加了(在另一种情况下 - 功能)本地提交。而且她的本地存储库比服务器的存储库更新。